码迷,mamicode.com
首页 > 其他好文 > 详细

GitKraken使用教程-基础部分(10)

时间:2018-05-17 18:50:57      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:png   函数代码   多次提交   从服务器   image   ESS   ima   行修改   增加   

10.  合并分支并解决冲突(conflict)

1) 合并分支

在代码管理过程中,切换分支或者同步服务器代码时,常常会出现代码冲突的情况,这种情况出现的原因一般是由于两个分支对同一个文件进行修改,

当把这两个分支进行合并时就有可能会出现冲突(pull远程服务器上的代码是一样的道理)。

以Test仓库为例,主分支 master 对19264.h文件进行了修改并进行了多次提交,在主分支中对19264.h文件的 lcd_delay_us 函数进行了修改(增加了几条注释),

而另一条分支 testconflict 删除了该文件中的这一函数(也可以是添加了其它的注释或者改动这一部分的代码)。

也就是说,19264.h头文件被多次修改了(在实际的代码编写过程中,一般就对应着多人修改同一个文件的情况)

技术分享图片

图 4?1 提交记录

右键点击testconflict分支,在下拉菜单中选择Merge testconflict into master 这一项:

技术分享图片

图 4?2 下拉菜单

程序将会尝试将testconflict分支并入master分支。然而这两条分支是有代码冲突的,接下来程序就会在最新的提交记录位置提示我们:

技术分享图片

图 4?3代码冲突提示

2) 代码出现冲突

合并分支出现代码冲突后,程序右侧将会给出发生冲突的文件列表(Conflicted Files)和无冲突的文件列表(Resolved Files)如下图:

技术分享图片

图 4?4 文件列表

点击发生冲突的“19264.h”文件,GitKraken将会进入Diff View视图:

技术分享图片

图 4?5文件比较视图

程序正中央显示了总共有一个冲突发生:

技术分享图片

图 4?6发生的冲突

点击箭头按钮可以快速定位到发生冲突的地方。

左侧的 技术分享图片 部分显示的是 master 分支中提交记录的文件内容,在20~22行后面添加了一些注释;右侧的 技术分享图片 部分显示的 testconflict 分支中提交记录的文件内容,

可以看到 15行的 #define 定义下面的函数是 lcd_delay_ms 函数而不是 lcd_delay_us 函数,也就是之前提到的删除了 lcd_delay_us 函数。

下方的Output显示的是最终将会保留的文件内容。

3) 解决冲突

当代码出现冲突后,需要手动解决冲突。在代码冲突的位置,技术分享图片 技术分享图片 两部分各有一个复选框。若点击 技术分享图片 侧的复选框,将会保留master分支中对该段代码的修改:

技术分享图片

图 4?7 保留master分支对代码的修改

可以看到Output中将会保留这段函数代码及添加的注释。点击右上方的 技术分享图片 按钮将会将Output框中显示的内容保存到文件中,即冲突被解决。

如果确定了需要保留 技术分享图片 的所有代码,将 技术分享图片 左边的复选框选中,将会保留master分支的所有更改:

 技术分享图片

图 4?8 保留A的所有更改

         如果只需要其中的一部分代码,可以点击 技术分享图片记号,取消这个标记,就像下图一样:

 技术分享图片

图 4?9 保留部分更改

那么Output框中现实的内容就会变成这样的:

 技术分享图片

图 4?10 输出结果

可以同时保留 技术分享图片 中的部分修改,又保留 技术分享图片 中的部分修改。最后解决冲突,保存文件。代码合并的工作就完成了。

         完成以上工作后,需要对代码合并进行一次新的提交:

技术分享图片

图 4?11 合并分支并提交

填写合适的Commit Message,并点击 Commit and Merge 按钮。在提交记录区将会出现一个新的提交记录。

解决了代码冲突后,就可以继续进行代码编写了。从服务器上拉取(Pull)代码,有时也会提示代码冲突,原理与此类似,只是发生冲突的分支不同而已(一个是master分支,一个是 origin/master分支)。

GitKraken使用教程-基础部分(10)

标签:png   函数代码   多次提交   从服务器   image   ESS   ima   行修改   增加   

原文地址:https://www.cnblogs.com/brifuture/p/9052512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!