相关技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > 相关技巧 > Gitlab合并代码并解决冲突

Gitlab合并代码并解决冲突的问题

作者:岫珩

本文详细介绍了如何将远程分支dev-jwh的代码同步到远程main分支上,包括创建合并请求、合并选项设置、解决冲突等步骤

有两个远程分支,dev-jwh分支和默认的main分支

本地开发的代码已上传到远程分支dev-jwh上

现在将dev-jwh远程分支的代码同步到远程分main上

在gitlab同步两个远程分支的代码时,有两种情况:

1. Create merge request

上面我们将dev-jwh本地代码同步到远程dev-jwh分支上了,此时远程的main分支还没有同步

将远程分支dev-jwh上的代码同步到远程分支main上

可以在Gitlab平台上操作

在提交代码到远程仓库之后,gitlab平台的Merge request部分就会收到提交信息

项目左侧栏Merge requests

1.1 创建合并请求

选择Create merge request进行同步操作

当然,如果这里没有上图中的提示(默认main分支外的分支提交会以请求的形式出现在上图中的位置提示)

可到下一小节<2. New merge request>进行操作

1.2 合并请求标题和描述填写

默认内容如下

可在Title填写请求的标题

Description填写请求描述

当然这里可以默认即可

1.3 取消勾选

注意,

Merge options中的第一项Delete source branch when merge request is accepted默认是勾选的

一定要取消勾选

然后点击Create merge request创建请求,从dev-jwh同步到main

1.4 授权并合并

然后依次选择ApproveMerge即可(其余内容不用填写)点击Merge后即可实现同步代码到远程main分支

1.5 合并完成

执行后如果代码没冲突则不需要解决,代码同步完成,

如下图:

1.6 合并未完成-需解决冲突

如果有冲突则会在界面出现Resolve conflicts

此时需要点击Resolve conflicts解决冲突,解决冲突可跳转到第3小节:3. 冲突解决

2. New merge request

2.1 创建合并请求

当界面没有提交的合并请求时,可以在右上角新建合并请求,如下图,选择New merge request进行同步操作

2.2 分支选择

选择要合并的分支,左边是当前分支,右边是要合并到的分支默认main

左边我们选择我们刚刚提交的dev-jwh分支,然后点Compare branches and continue对比两个分支然后继续

2.3 合并信息填写

这里可以对这次合并做一些内容设置,如给这次修改起个名字,然后写点描述

2.4 取消勾选

然后在Merge options中取消勾选Delete选项,默认是勾选的,如果不取消勾选,则合并后我们的分支dev-jwh则会被删除

取消勾选后,点Create merge request创建合并

2.5 授权并合并

这里我们先授权点Approve,也可以之前就点,我们这里点也没问题

2.6 冲突解决

然后可以看到有Resolve conflicts表示有冲突需要解决,点它就行

2.7 代码选择

这里可以看到有两部分,一部分是Use ours表示dev-jwh分支,一部分是Use theirs表示main分支

选择用哪个分支的代码进行覆盖,我们使用自己的dev-jwh

Use ours

然后点Commit to source branch将代码合并任务提交

2.8 再次合并

然后会跳回到merge界面,再次点击Merge即可,注意,这里再确认一下Delete source branch选项是未勾选的

2.9 合并成功

Merge之后如果没问题,界面如下表示合并成功

3. 冲突解决

3.1 制造冲突

我在两个远程分支的某个代码片段改成不同的内容

当两个分支的代码冲突时,解决如下

3.2 合并及解决冲突

有冲突时,Merge按钮是灰色的,此时需要先解决冲突再Merge

点击Resolve conflicts

然后在解决冲突界面选用Use ours自己的代码覆盖别人的,还是选择Use theirs别人的覆盖自己的代码

这里我选择Use ours,即将注释内容为列表数量的内容保留

选了用自己的之后提交信息到资源分支

Use ours–>Commit to source branch

解决冲突后返回merge界面,别忘了点Approve授权通过

刷新界面,再次点击Merge

3.3 合并成功

合并成功后的界面如下

3.4 查看合并结果

查看远程仓库main分支的代码,已更新为自己的内容(获取列表数量),冲突解决

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文