背景
项目用Git作为版本控制工具,我用TortoiseGit作为客户端工具。今天代码提交时提示冲突,所以先把代码commit到了本地分支但没有push,然后pull最新代码,其实只有2个文件冲突,可是git客户端里却显示了很多diff状态的文件,当然不是我改的。
处理过程
解决那2个文件的冲突后提交了代码,观察到diff状态的文件全被覆盖了,然后再次提交所有diff状态的文件。
为什么只提交了冲突的文件
因为diff状态的文件不是自己修改的,觉得没必要提交,更重要的是觉得远程分支已经有了修改的文件,其实这些都没错,但是是接下来要讲的导致问题了。
远程代码为什么被覆盖了
后来查看提交记录的时候发现尽管提交的时候只勾选了2个冲突的文件,但是diff状态的文件是以本地的版本,即pull操作前的 版本一起提交上去了,所以代码被覆盖。
规律
以后处理冲突时,pull到的diff状态的文件并且不是自己改的,这种文件也要提交
网友评论