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
极狐-推送选项

相关推荐
极小狐3 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li3 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab
极小狐3 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
DevOps老兵4 天前
AI Infra实战11:模型部署Pipeline——CI/CD自动化
人工智能·ci/cd·ai·自动化·gitlab
极小狐4 天前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化
极小狐4 天前
用 Flow 编排 Agent 智能体:极狐GitLab Duo 自定义工作流实战
ai·gitlab·agent·devops·flow·duo
陈皮糖..4 天前
基于 Kubernetes 与 GitLab CI/CD 的云原生自动化交付平台
运维·ci/cd·云原生·架构·kubernetes·自动化·gitlab
11路没有终点5 天前
GitLab CI/CD 高级模式实战:include 模板库 / trigger 子流水线 / matrix 并行
ci/cd·gitlab
11路没有终点5 天前
GitLab CE CI/CD 入门指引手册:从零搭建第一条流水线
ci/cd·gitlab
2501_928996226 天前
Agent 开发的 API 选型:从 Function Calling 到多模型协作的中科热备底层逻辑
服务器·重构·gitlab