在实际分⽀合并的时候,并不是想合并就能合并成功的,有时候可能会遇到代码冲突的问题。
为了演⽰这问题,创建⼀个新的分⽀
dev1
,并切换⾄⽬标分⽀,我们可以使⽤
git checkout -
b dev1
⼀步完成创建并切换的动作,⽰例如下:
- 在 dev1 分⽀下修改 Test ⽂件,更改⽂件内容如下,并进⾏⼀次提交,如:
- 切换⾄ master 分⽀,观察 Test ⽂件内容:
我们发现,切回来之后,⽂件内容由变成了⽼的版本,这种现象很正常,我们现在也完全能理解
- 此时在 master 分⽀上,我们对 Test ⽂件再进⾏⼀次修改,并进⾏提交,如下:
- 现在, master 分⽀和 dev1 分⽀各⾃都分别有新的提交,变成了这样:
- 这种情况下,Git 只能试图把各⾃的修改合并起来,但这种合并就可能会有冲突,如下所⽰:
- 当我们进入Test 文件中后,发现 Test ⽂件有冲突后,可以直接查看⽂件内容,要说的是 Git 会⽤ <<<<<<<,=======,>>>>>>> 来标记出不同分⽀的冲突内容,如下所⽰:
- 此时我们必须要⼿动调整冲突代码,并需要再次提交修正后的结果!!(再次提交很重要,切勿忘 记)
- 到这⾥冲突就解决完成,此时的状态变成了
- ⽤带参数的 git log也可以看到分⽀的合并情况,具体⼤家可以⾃⾏搜索 git log 的⽤法:
- 最后,不要忘记 dev1 分⽀使⽤完毕后就可以删除了:
小结
以上便是解决 git 冲突的解决方式。小结起来就是需要人为的去进行修改即可。