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

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

git checkout -b feature1

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

<body>
    <h1>Demo1h1>
body>

接下来重新切回master分支:

git checkout master

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

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

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

git图形化工具GitKraken的使用——解决冲突_第1张图片

这种情况下,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 来查看:

git图形化工具GitKraken的使用——解决冲突_第2张图片

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

git图形化工具GitKraken的使用——解决冲突_第3张图片

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

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

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

git图形化工具GitKraken的使用——解决冲突_第4张图片

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

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

git图形化工具GitKraken的使用——解决冲突_第5张图片

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

你可能感兴趣的:(git)