我遇到了一个严重的问题:每天大约两次,git不正确地提交一个旧版本的文件,该文件在提交时有更多当前修改。
错误的工作流程:
Example.php
会连续修改三个小时。200a5a3
。2014-12-30 17:04
,提交前38分钟。git怎么可能记得'不管怎么说,3点30分,当我没有将更改提交到5:42时,文件是什么样的?难道它只知道5:04版本吗?
但更重要的是,为什么会发生这种情况?如何阻止它?
答案 0 :(得分:1)
PHPStorm(以及所有的Intellij IDE系列)喜欢使用源代码控制做一些时髦的事情,以便为用户规范化源代码控制界面(无论你使用Git,Mercurial还是Subversion,版本控制看起来都一样)
出于这个原因,我从不使用我的IDE来提交我的提交(因为PHPStorm不支持使用git commit -S
进行PGP签名提交)。
最可能发生的事情是PHPStorm在某个时刻正在调用git add <file>
,并且由于某种未知原因在提交之前未能再次调用它。所以旧的更改会添加到索引(然后提交),而工作目录中的文件仍有待更改。
出于这个原因,我建议你不要依赖PHPStorm来处理源代码控制,并且总是使用CLI。