之前讲解了分支的简单创建和切换,以及合并。这次我们说一下在Git中不同分支的版本的冲突如何解决。
我们依然点击本地版本库的文件夹,选择“Git Bash Here”:
然后我们创建一个新的分支branch1:
然后我们将README.md文件的最后一行的“Success Create A New Branch”改为“Success To Create A New Branch”:
然后在刚刚创建的branch1分支上提交:
之后我们切换到主分支master:
可以看到,上面提示我们当前的master分支比远程库“origin/master”的master分支超前一个提交,推荐我们使用push指令将改变提交到远程库中。这是因为上一章我们修改并提交了代码,但是没有push到远程库,而远程只有master主分支,所以只有本地master分支才会被对比并给出提示,由于远程库没有bransh1分支,所以切换bransh1分支是不会给提示的。
此时在主分支上,我们把文件内容“Success Create A New Branch”改为“Success Create A New Branch.”,即添加了一个英文句号:
然后提交主分支的修改:
至此,master与branch1分支各有各自的最新提交,大致情况如下图:
上一节我们使用“快速合并”,但是在有冲突的情况快速合并就会有冲突,如下:
可以看到,Git提示我们自动合并的时候在“README.md”中有冲突,所以提交失败,需要我们手动解决冲突。
使用“git status”可以看到无法合并的原因,以及冲突的文件信息:
此时查看README.md的信息,会给我们冲突的信息:
其中“<<<<<<”下标记本分支下的内容,然后以“=======”分隔,下面的“>>>>>>>”上面是要合并的分支的该文件的内容:
我们来解决冲突,在master有“.”的情况下,在前面添加“To”:
此时重新提交README.md文件:
提交之后两版本的时间线合并,如下图:
如果想看分支合并情况,使用“git log”即可:
实现合并后,branch1也没有用了,这里删除即可:
至此就是使用Git解决冲突的操作。
转载请注明出处:http://blog.csdn.net/acmman/article/details/77751575