合并来自不同存储库的分支

我希望这似乎并不明显。 我有两个git存储库。 我们决定将第一个分支的一个分支分成一个git子模块。 现在我一直在使用这个子模块,但是人们已经将提交到第一个存储库提交到分支模块中。

如何将第一个存储库中分支的更改合并到新创建的第二个存储库中? (我们现在用作子模块)

我已经尝试在第二个仓库中添加另一个远程仓库并合并该仓库,使用:

git remote add otherOrigin git-Blah@blah.blah:originalRepo.git
git merge otherOrigin originalBranch

但是我得到:

fatal: 'otherOrigin' does not point to a commit

谢谢


如果对于给定的分支(在Repo1中被分割为子模块的一个分支,同时保存在Repo2中),这两个回购最初具有共同的历史 ,那么理论上应该可能:

  • 将Repo2中的分支作为个人回购分拆
  • 将该个人回购添加为当前子模块回购的远程
  • 尝试从那里执行合并。
  • 但是如果你必须定期重复这个过程,那么这很快就会成为一种拖累(除非你可以编写脚本)。


    克隆你的仓库。 现在使用filter-branch来保留对子模块应该进行的更改。 添加此回购作为您的子模块的远程。 从该新远程获取分支。 使用git rebase --root --onto将更改“放置”到子模块历史记录中的某个点。

    希望这可以帮助。

    链接地址: http://www.djcxy.com/p/7981.html

    上一篇: Merge branch from a different repository

    下一篇: Going retro: Learning CVS, coming from SVN