【Git】6.解决冲突

来源:互联网 发布:mysql不能删除数据 编辑:程序博客网 时间:2024/06/06 09:48
之前讲解了分支的简单创建和切换,以及合并。这次我们说一下在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

原创粉丝点击