You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何彻底禁用合并请求中的「Merge Immediately」选项以强制使用Merge Train?

禁用「Merge Immediately」强制使用Merge Train的实现方案

GitLab 平台操作

单仓库设置

进入仓库的「Settings」→「Merge requests」页面,找到「Merge options」板块,取消勾选「Allow merge immediately」即可。

批量操作所有仓库

如果仓库数量多,用GitLab API批量修改更高效:

# 先获取所有项目ID,再逐个禁用即时合并选项
for project_id in $(curl --header "PRIVATE-TOKEN: 你的私有令牌" "https://你的GitLab域名/api/v4/projects?per_page=100" | jq -r '.[].id'); do
  curl --request PUT --header "PRIVATE-TOKEN: 你的私有令牌" "https://你的GitLab域名/api/v4/projects/$project_id" --data "merge_requests_allow_immediately=false"
done

注:需要提前安装jq工具,替换命令中的域名和令牌。

群组继承设置

如果所有仓库都归属于某个群组,直接在群组的「Settings」→「Merge requests」中禁用「Allow merge immediately」,下属仓库会自动继承该设置,无需逐个调整。

GitHub 平台操作

GitHub没有直接的「Merge Immediately」开关,但可以通过强制启用合并队列(Merge Queue)来达到相同效果:

  1. 进入仓库「Settings」→「Branches」,找到目标分支的保护规则
  2. 勾选「Require merge queue」选项,这样开发者只能将PR加入队列等待合并,无法直接点击即时合并。

批量操作示例

用GitHub API批量更新分支保护规则:

curl --request PATCH \
  --url "https://api.github.com/repos/你的用户名/仓库名/branches/main/protection" \
  --header "Authorization: token 你的访问令牌" \
  --data '{
    "merge_queue": {
      "enabled": true
    }
  }'

后续验证

修改完成后,随机抽查几个仓库,确认即时合并选项已消失、Merge Train/Queue功能强制生效;同时更新团队开发规范,明确要求所有合并必须走Merge Train流程。

内容的提问来源于stack exchange,提问作者Satish Lokhande

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 09:55:18