如何将来自两个不同存储库的两个分支组合在一个存储库中?

Chr*_*ssl 48 git

我的Git存储库的结构如下所示:

A-B-C-D-E-F   # master branch in separate repo1
A-B-C-D-E-G-H # master branch in separate repo2
Run Code Online (Sandbox Code Playgroud)

AH是简单的提交.正如您所看到的,存储库是相关的(repo2是repo1的一个分支).我正在尝试将这两个存储库合二为一.

之后,单个存储库应具有以下结构:

A-B-C-D-E-F   # master branch of previous repo1
        \
         \
          G-H # master branch of previous repo2
Run Code Online (Sandbox Code Playgroud)

我已经花了很多时间阅读Git用户指南等等.但是,这种(特殊)使用情况似乎没有在任何地方记录.

Pet*_*rns 72

您可以在与远程仓库相同的文件系统上处理另一个git存储库.

在第一步中,执行以下操作:

git remote add <name> /path/to/other/repo/.git
git fetch <name>
git branch <name> <name>/master #optional
Run Code Online (Sandbox Code Playgroud)

现在,它们都是单个存储库中的分支.您可以使用git checkout,与git merge合并等进行切换.


Jim*_*uls 7

你的图片暗示你并不真的想要"合并两个存储库",因为合并将G和H提交到repo1.您应该可以做一些简单的事情,例如将repo2添加为repo1的远程并获取/拉取更改.