免费开源的iOS开发学习平台

GitHub:6-冲突处理

在团队协作开发过程中,有时会出现不同成员同时修改同一文件的同一行的情况,或者说有的成员正在对一个文件进行编辑,而另外一个成员恰巧把这个文件删除掉了。这种情况下,当我们不执行合并操作时,是不会发现问题的,但当我们对分支进行合并操作时,就会出现代码冲突。在执行合并之前,Git会检查存在代码冲突的地方,并且需要程序员手工调整后,才能够执行合并操作。

我们首先创建一个new-branchs分支,在该分支中添加一个NEWBRANCH.md文件,并对README.md文件进行修改,修改后执行【Commit to new-branch】操作。

为了模拟不同成员同时修改同一文件的操作,我们登录GitHub网站,在网页中修改master分支的README.md文件,例如,我们添加如下一段日志,需要注意的是,在master分支以及new-branch分支中对README.md文件的修改都是针对第一行的,即我们人为制造了一个冲突。

我们返回GitHub客户端,对new-branchs分支和master分支先执行合并操作后,点击同步【Sync】按钮。

此时,由于上传版本的过程中,发现本地仓库中的版本与远程仓库中的版本存在冲突,GitHub客户端会给出冲突提示。

我们打开README.md文件,该文件中已经对冲突的内容进行了标注,如下所示。

<<<<<<< HEAD
欢迎访问九九学院--new-branch添加了注释
=======
欢迎访问九九学院--master分支上添加了注释
>>>>>>> origin/master
http://www.99ios.com

其中:

  • <<<<<<< HEAD:代表当前分支中的内容;
  • origin/master:代表其他分支中的内容;

  • =======:代表冲突内容的分割线

对于冲突的内容,需要程序员进行手工修改,修改后再次执行合并操作。