GitLab的基本使用

GitLab介绍

GitLab 是一个类似于 GitHub 的开源源码托管服务,它除了提供基于 git 的基本代码托管服务外。还具备很多与软件开发协作相关的其他功能。比如 issues、Merge Requests 、CD/CI发布功能等。

GitLab开发中使用流程

在master拉出新的分支

master分支通常是最新的代码,假设现在有一个新的需求,那么就需要基于master创建一个自己的分支,在这个分支上面开发我们的需求。

具体命令如下:

确保你在 master 分支上:

git checkout master

更新 master 分支:

git pull origin master

创建并切换到新的分支:

git checkout -b new-branch-name

通过IDEA创建新分支:

在新的分支上编写代码

在自己创建的分支上面编写需求相关的代码

推送修改代码

创建MergeRequest

创建request

选择合并的source分支和target分支,注意:在开发中一般就合并到测试或者开发分支即可,待到需求上线才将代码合并到主分支。

填写合并标题(Title),描述(Description),审核人(Assignee) 注意:一定要审查Changes和Commit是否和本地一致。

GitLab解决合并冲突

官网:Merge request conflict resolution - 《Gitlab 中文文档》 - 书栈网 · BookStack

上一步提交Request的时候可能会产生冲突,可以通过在线方式进行冲突解决。

Resolve conflicts: interactive mode

单击此按钮将显示有冲突的文件列表,突出显示冲突部分:

Conflict section

一旦所有冲突都标记为使用”我们的”或”他们的”,则可以解决冲突. 这将执行合并请求的目标分支到源分支的合并,使用选择的选项解决冲突. 如果源分支是feature ,目标分支是master ,则类似于执行git checkout feature; git merge master git checkout feature; git merge master本地git checkout feature; git merge master .

这段话摘抄于官网:大概意思就是你通过在线的两个方式解决冲突,例如你的分支feature-test合并请求到sit分支,在线方式解决冲突之后,就会将sit分支上面的代码合并到feature-test上面。变成了返现合并,会造成你分支的污染,合并了sit分支的不属于你的代码。

Resolve conflicts: inline editor

合并冲突解决编辑器允许更复杂的合并冲突,需要用户手动修改文件以解决冲突,才能从 GitLab 界面中解决. 使用内联编辑按钮打开编辑器. 确定更改后,请单击” 提交到源”分支按钮.

Merge conflict editor

解决反向冲突

通过在线方式解决完冲突之后,就被GitLab的反向合并造成自己的开发分支的代码污染。

解决方式:此时我们本地的分支千万别更新代码,这时候本地的分支代码还没有被反向合并。

找到远程自己的分支,删除(注意看清楚不要删除别人的分支)。

删除之后本地的分支还是未被反向合并之前的代码,重新推送到GitLab即可。这样远程又会重新生成和本地一样的分支。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值