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

如何在Github中自动批量创建master同步到client-*分支的PR?

批量为client-*分支创建master同步PR的实现方法

完全可以实现,根据你使用的代码托管平台不同,有两种成熟的批量操作方案:

方案1:使用对应平台的官方CLI工具(操作最简便)

主流代码托管平台都提供了官方CLI工具,可以直接在终端调用接口完成PR创建,不需要额外写接口请求逻辑,以GitHub为例操作步骤如下:

  • 本地提前安装GitHub CLI,完成账号权限认证
  • 进入项目本地目录,执行git fetch origin拉取最新的远端分支列表,确保本地master分支和远端保持同步
  • 执行如下shell脚本完成批量PR创建:
# 遍历所有远端以client-为前缀的分支
for branch in $(git ls-remote --heads origin | grep 'refs/heads/client-' | awk -F '/' '{print $3}'); do
  # 自动创建PR,指定目标分支为client分支,源分支为master
  gh pr create \
    --base "$branch" \
    --head master \
    --title "Sync latest master changes to $branch" \
    --body "Auto-generated PR to sync latest master updates to client branch. Please review and merge if no conflicts."
done

如果你使用的是GitLab,将gh pr create替换为GitLab CLI的对应命令glab mr create即可,参数逻辑完全一致。

方案2:调用平台OpenAPI实现(自定义程度更高)

如果你需要额外增加自定义逻辑,比如自动添加审核人、跳过有合并冲突的分支,可以直接调用平台的开放接口实现:

  • 第一步调用平台的分支列表接口,过滤所有名称前缀为client-的分支
  • 第二步遍历过滤后的分支列表,循环调用PR/MR创建接口,指定源分支为master、目标分支为当前遍历的client-*分支,填写统一的PR标题和描述
  • 可扩展逻辑:创建PR前先调用合并冲突检测接口,存在冲突的分支跳过创建,单独输出日志后续人工处理

注意事项

  • 执行批量操作前建议先拿1~2个client-*分支做测试,确认PR的源、目标分支配置正确再全量执行
  • 如果项目配置了分支保护规则,需要提前给执行操作的账号开通PR创建权限,避免批量创建失败
  • 存在合并冲突的PR会被平台自动标记冲突状态,不需要额外处理,后续人工解决冲突后再合并即可

内容的提问来源于stack exchange,提问作者Oliver D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:54:06