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

如何在分支名相同的两个Git仓库间自动同步指定分支并覆盖变更

Git指定分支强制同步方案

原有方案问题说明

你之前使用的--mirror参数会同步仓库全量引用(包含所有分支、标签、合并请求引用等),无法过滤指定分支,且默认推送不带强制覆盖参数,目标分支存在未同步的冲突提交时就会报错。

分步执行方案

第一步:初始化同步工作目录(仅需执行一次)

# 克隆源仓库到本地工作目录
git clone https://github.com/org/repo-1.git git-sync-workdir
cd git-sync-workdir
# 添加目标仓库为远端节点,命名为target方便后续调用
git remote add target https://host.com/org/repo-2

第二步:单/多分支同步命令

将下方命令中的分支名替换为你需要同步的分支即可,命令内置强制覆盖逻辑,会直接覆盖目标仓库的冲突变更:

# 1. 拉取源仓库指定分支的最新代码
git fetch origin main dev release/v1.0
# 2. 强制推送指定分支到目标仓库,自动覆盖冲突
git push -f target \
  refs/remotes/origin/main:refs/heads/main \
  refs/remotes/origin/dev:refs/heads/dev \
  refs/remotes/origin/release/v1.0:refs/heads/release/v1.0

可选优化配置

  • 如果需要同步对应分支的标签,可在fetch命令后加上--tags参数,push命令也同步加上--tags
  • 如果需要自动删除目标仓库中、已在源仓库删除的指定分支,可在push命令中加上--prune参数
  • 上述命令可直接写入定时任务或CI/CD流水线实现自动同步,无需人工干预

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:12:04