eclipse中自带的Git插件为Egit,通过操作图形界面很方便我们日常的git操作。但最近发现了体验极差的问题:
当对一个文件作如下操作
第一次: modify、add、commit、push 成功
第二次: modify、add、commit、push 会失败,会报出一个冲突的提示rejected - non-fast-forward
而明明我们自己知道,这个文件只有自己一个人修改提交过,再没有任何人动过,可还是会冲突。
这时还需pull,再解决文件冲突,再commit,再push才能完成第二次的提交修改,会非常的体验不好。
解决方案:
打开Worktree目录,通过命令行(本人是在GitBash上)执行git pull命令,会发现eclipse的Git Repositories的Refrences下多出了
FETCH_HEAD和ORIG_HEAD两个文件,Working Tree的.git目录里也是如此
注意:在eclipse上执行pull是不会生成上面这两个文件的。
此时,我们再进行上面的操作,就不再出现冲突的问题了,希望对有相同疑惑的同学们有所帮助。