教程9--分支合并冲突
在实际开发中很多人都有需要要合并到开发分支,所以合并时发生冲突在所难免,下面我们来讲解如何解决冲突
1、准备新的分支
命令:git checkout -b dev1
2、修改当前dev分支中的某个文件,并提交
如:修改readme.txt
添加命令:git add .
提交命令:git commit -m 修改readme
3、切换到master
命令:git checkout master
4、修改master分支中个相同文件
如:修改readme.txt
添加命令:git add .
提交命令:git commit -m 修改readme
5、当前仓库情况
现在,master分支和dev分支各自都分别有新的提交,变成了这样:
这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突,我们试试看:
6、尝试合并
命令:git merge dev
果然冲突了!Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件:
7、查看冲突内容(或者直接打开文件)
命令:git status
说明:Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容:
下图是我的文件,大家的内容和我这不一样
8、修改具体的文件后再提交(当然要删除那些符号)
添加命令:git add .
提交命令:git commit -m 修改readme
9、查看分支合并情况
命令:git log --graph --pretty=oneline --abbrev-commit
10、合并完成删除dev
命令:git branch -d dev
小结
合并冲突一般都由后合并方解决,因为之前别人合并的内容已经在master分支或者要合并的分支里面,而自己的还未合并,只有自己了解自己的代码,所以要看懂别人修改过的注释和自己的内容后在调整!