众所周知,使用 git
可以高效的管理代码,当团队只有几个人,管理起来相对还算简单,但是当团队规模达到一定的人数时,每天会有数十甚至上百次代码提交到主分支,可能每隔几分钟就有人会提交代码,当你开发完成后,准备提交你的代码时,就会发现你跟远程主分支的代码存在冲突,如果你改动的文件较多,处理起来可能就会更麻烦。
下面列举几种常见的代码冲突场景以及相应的解决方案:
场景一:git pull 时出现冲突
假设你是在本地的 master
开发,现在准备开始开发新功能,你在 master
分支使用 git pull
拉取最新代码,开始本地开发。一天过去了,你准备将开发好的代码进行提交,提交前先使用 git pull
同步下远程 master
,但是提示有冲突,如下图
显示你本地有两个文件跟远程 master
不一致,因为在你开发的过程中,有其他人提交了这两个文件的修改,导致你如果也想提交,就得先处理冲突。
解决方法:
1. 记下你的文件修改内容,然后删除本地冲突文件的修改
git checkout 冲突文件
2.拉取远程最新代码
git pull
3.修改文件,将刚刚删除的文件修改还原回去
这种方法的好处比较简单,出现冲突文件,先恢复。冲突文件少的时候还可以,如果冲突文件有几十个,操作起来就比较麻烦了,所以建议有空多 git pull
,保持跟远程 master
数据一致,这样等你提交代码时,冲突就会少一点。