众所周知,使用 git 可以高效的管理代码,当团队只有几个人,管理起来相对还算简单,但是当团队规模达到一定的人数时,每天会有数十甚至上百次代码提交到主分支,可能每隔几分钟就有人会提交代码,当你开发完成后,准备提交你的代码时,就会发现你跟远程主分支的代码存在冲突,如果你改动的文件较多,处理起来可能就会更麻烦。

下面列举几种常见的代码冲突场景以及相应的解决方案:

场景一:git pull 时出现冲突

假设你是在本地的 master 开发,现在准备开始开发新功能,你在 master 分支使用 git pull 拉取最新代码,开始本地开发。一天过去了,你准备将开发好的代码进行提交,提交前先使用 git pull 同步下远程 master,但是提示有冲突,如下图

显示你本地有两个文件跟远程 master 不一致,因为在你开发的过程中,有其他人提交了这两个文件的修改,导致你如果也想提交,就得先处理冲突。

解决方法:

1. 记下你的文件修改内容,然后删除本地冲突文件的修改

git checkout 冲突文件

2.拉取远程最新代码

git pull

3.修改文件,将刚刚删除的文件修改还原回去

这种方法的好处比较简单,出现冲突文件,先恢复。冲突文件少的时候还可以,如果冲突文件有几十个,操作起来就比较麻烦了,所以建议有空多 git pull,保持跟远程 master 数据一致,这样等你提交代码时,冲突就会少一点。