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

如何同步不同Git仓库中两个指定分支的内容

Git跨分支跨仓库无历史同步方案

Git原生支持该需求,无需手动复制文件,以下是两种常用实现方案:


方案一:添加临时远程仓库同步(推荐)

操作全程无需手动处理文件,自动处理文件的新增、修改、删除逻辑:

  1. 进入本地仓库B的目录,切换到目标分支y并拉取最新内容,确保工作区无未提交的变更:
git checkout y
git pull origin y
  1. 将仓库A添加为仓库B的临时远程仓库:
git remote add repo-A <仓库A的克隆地址>
  1. 拉取仓库A的分支数据:
git fetch repo-A
  1. 直接将仓库A的x分支全量内容覆盖到当前工作区,不携带任何A仓库的提交历史:
git checkout repo-A/x -- .

命令末尾的.代表当前目录,即把A的x分支所有文件同步到当前B仓库y分支的工作区

  1. 提交同步后的变更:
git commit -m "同步仓库A x分支内容到y分支"
  1. (可选)删除临时添加的仓库A远程地址:
git remote remove repo-A
  1. 推送到仓库B的远程y分支即可完成同步:
git push origin y

方案二:快照导出同步

适合两个仓库均已克隆到本地的场景,无需配置远程地址:

  1. 进入本地仓库A的目录,执行命令直接将x分支的全量快照导出并解压到仓库B的目录下:
git archive --format=tar x | (cd <替换为仓库B的本地绝对路径> && tar xvf -)
  1. 进入仓库B的目录,切换到y分支,提交所有变更后推送即可。

注意事项

操作前请确保仓库B的y分支本地未提交的变更已提前处理,避免内容覆盖丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:45:05