跳到主要内容

合并两个不同的Git仓库

· 阅读需 2 分钟
素明诚
Full stack development

问题背景

我们的公司维护着两个代码仓库,虽然它们的代码相同,但分别服务于不同的业务领域。时常,我们需要将仓库 A 中的优化措施迁移到仓库 B,以确保两者的同步和效率。在以下说明中,我将使用“AB”作为示例名称,但在实际操作中,您可以根据需要更换相应的名字。

B 仓库迁移到 A 仓库

在 A 仓库,添加 B 仓库的远程仓库地址

git remote add B ssh://git@gitlab.xxxx.git

获取远程 B 仓库的数据

git fetch other

创建并且检出新的分支

git checkout -b dev B/dev

把该分支提交到 A 仓库的远程

git push orange dev

接下来,这个仓库就多了其他仓库的 dev 分支,你可以进行 rebase、merge、优选等操作就非常方便了。

注意:

  • 如果你的当前仓库已经有一个名为 dev 的分支,上述命令会失败。在这种情况下,你可能需要选择一个不同的分支名或者首先删除现有的 dev 分支。
  • 你现在有了一个远程链接名为 other,你可以在以后使用它来获取或推送数据到该远程仓库。如果你不再需要这个链接,可以使用 git remote remove other 来删除它。