Gitlab光速发起Merge Request

前言

在我们日常开发过程中需要经常使用到Merge Request,在使用过程中我们需要来回在开发工具和UI界面之前来回切换,十分麻烦。那有没有一种办法可以时间直接开发开工具中直接发起Merge Request呢?

答案是有的。

使用 Git 命令方式创建 Merge Request

我们其实可以直接通过git push命令来实现创建Merge Request,完整命令实例如下:

git 复制代码
git push origin feature/test_mr:feature/test_mr \
  --set-upstream \
  -o merge_request.create \
  -o merge_request.target=master \
  -o merge_request.remove_source_branch \
  -o merge_request.label=fea4t \
  -o "merge_request.title=fea4t(web) XM2231501-7127 插件测试" \
  -o "merge_request.description='<p>背景:</p><p>  http://jira.xxx.net/browse/XM2231501-7127</p><p>修改:</p><p>1. 插件测试</p><p></p><p>影响:</p><p>无</p>'"

命令解释:

  • git push origin feature/test_mr:feature/test_mr:推送本地分支 feature/test_mr 到远程仓库 origin 的 feature/test_mr 分支。
  • --set-upstream:将目标分支设置为当前分支的上游分支。
  • -o merge_request.create:创建合并请求。
  • -o merge_request.target=master:设置目标分支为 master。
  • -o merge_request.remove_source_branch:合并后删除源分支。
  • -o merge_request.label=fea4t:添加标签 fea4t。
  • -o "merge_request.title=fea4t(web) XM2231501-7127 插件测试":设置合并请求标题。
  • `-o "merge_request.description='1. 插件测试'":设置合并请求描述。

通过执行命令可以直接创建Merge Request,命令返回如下信息:

shell 复制代码
remote: 
remote: View merge request for feature/test:
remote:   http://git.xxx.net/xxx-project/xxx/-/merge_requests/6
remote: 
remote: 
remote: Project 'hr-ops-group/xxx' was moved to 'xxx-project/xxx/xxx'.
remote: 
remote: Please update your Git remote:
remote: 
remote:   git remote set-url origin ssh://git@git.xxx.net:8011/hr-xxx/xxx/xx.git
remote: 
remote: 
To ssh://git.xxx.net:8011/hr-ops-xx/xxx.git
   b1d535b..08a4a51  feature/test -> feature/test
分支 'feature/test' 设置为跟踪来自 'origin' 的远程分支 'feature/test'。

通过上面的信息我们可以看到系统已经自己给我们创建了一个MR http://git.xxx.net/xxx-project/xxx/-/merge_requests/6

光速发起Merge Request

但是这种构建命令的方式看起来比UI操作还麻烦,并且很容易出错,有没有更加简单的办法呢?在这里给大家推荐一款Idea插件GitFlowPlus。他支持直接通过图形化方式在IDEA中直接发起MR,如果遇到代码冲突还可以在本地IDEA中直接解决,十分方便,使用示例:

GitFlowPlus,可以直接在IDEA插件市场上安装,目前已经支持2018-2023所有IDEA版本。该插件还支持光速提测,光速打Tag等。

版本要求

如果您要使用自动发起MR这个功能,那么需要保证你的Gitlab版本在11.10之上。

参考

GitFlowPlus
极狐-推送选项

相关推荐
明月心95221 小时前
git remote add 用法
gitlab
only_Klein1 天前
jenkins流水线报错:Connection reset by peer
ci/cd·kubernetes·gitlab·jenkins·ssl
梁萌2 天前
docker部署gitlab和gitlab runner
docker·eureka·gitlab
johnnyAndCode2 天前
Idea 设置GitLab时使用账密,而不是token的配置方法
gitlab·idea
天外飞雨2 天前
Gitlab使用
gitlab
BUTCHER53 天前
GitLab SSH 密钥配置
运维·ssh·gitlab
明月心9523 天前
GitLab使用
gitlab
明月心9524 天前
gitlab pull requets
gitlab
BUTCHER54 天前
GitLab基本设置
gitlab
张小凡vip4 天前
Kubernetes---gitlab的ci/cd发布基于k8s的项目示例参考
ci/cd·kubernetes·gitlab