git图形化工具GitKraken的使用——解决冲突

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mr_wuch/article/details/73457709

比如说这里新建了一个feature1功能分支,我们继续在这个分支上进行开发:

git checkout -b feature1

然后在这个分支上修改文件并提交,这里我给demo1.html添加了一级标题:

<body>
    <h1>Demo1</h1>
</body>

接下来重新切回master分支:

git checkout master

此时master分支上demo1.html并没有我刚刚在feature1分支上添加的标题,然后我继续添加一个一级标题:

<body>
    <h1>Hello World!</h1>
</body>

提交之后从GitKraken上你可以看到master分支和feature1分支都向前走了一步:

这里写图片描述

这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突

$ git merge feature1
Auto-merging demo1.html
CONFLICT (content): Merge conflict in demo1.html
Automatic merge failed; fix conflicts and then commit the result.

Merge conflict in demo1.html git告诉我们demo1.html存在冲突,必须手动解决冲突。

在GitKraken很清楚的能够看到冲突文件,或者你也可以执行 git status 来查看:

这里写图片描述

接下来就来解决冲突吧,用编辑器打开demo1.html:

这里写图片描述

Git用 <<<<<<<=======>>>>>>> 标记出不同分支的内容,======= 是当前版本,下面是合并进来的改变

解决的话你可以保留当前版本的改变,或者保留feature1分支的改变,或者综合两者重新更改然后提交就可以

在GitKraken中也可以直接编辑,在上面的图片中双击冲突的文件:

这里写图片描述

你可以勾选选择你要保留的版本,或者直接在下方编辑,完成之后保存就可以

从图解决之后重新提交,可以通过 git log --graph 查看合并分支图:

这里写图片描述

OK,现在冲突解决了,feature分支也合并到了master分支,现在可以删除它了

猜你喜欢

转载自blog.csdn.net/mr_wuch/article/details/73457709