(本文是在同一台电脑上的不同分支操作)
用两个子分支模拟分支合入时产生的冲突。
- 分支wen中修改文件test.txt,在文件的最后一行新增内容NSLog(@“主分支修改”);
- 然后提交到远程仓库并merge到master分支中,此时冲突问题没有出现
- 在分支liu中同样修改文件test.txt,在文件的最后一行新增内容NSLog(@“liu分支修改”);
- 然后提交到远程仓库,在merge到master的过程中出现了冲突,如图所示:
如上图所示,上面操作git无法执行"快速合并",只能试图把各自的修改合并起来,但这种合并就可能会有冲突。
冲突原因:liu分支和master分支各自都分别有新的提交,并且编辑了同一个文件。
此时test.txt的内容如下(本文是在同一台电脑上的不同分支操作):
上图说明:<<<<<<< HEAD 上面表示wen分支做的修改,======= 表示分割线,>>>>>>> liu 上面表示liu分支做的修改。
分支合并冲突解决
- 对 test.txt 文件进行编辑,把<<<<<<< HEAD、=======、>>>>>>> liu去掉,并由自己选择需要保存的内容;
- 分别使用git add . 、git commit -m “冲突解决”、git push origin master 提交到版本库。
到此冲突问题得到解决。