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

Git-合并来自不同存储库的分支,git,merge,branching-and-merging,Git,Merge,Branching And Merging,我希望这似乎不是显而易见的。我有两个git存储库。我们决定将第一个repistry的一个分支拆分为一个git子模块。现在我一直在使用这个子模块,但是人们一直在将对第一个存储库的提交推送到生成子模块的分支中 如何将第一个存储库中分支的更改合并到新创建的第二个存储库中?(我们现在将其用作子模块) 我曾尝试将另一个遥控器添加到第二个回购协议中,并通过以下方式合并该分支: git remote add otherOrigin git-Blah@blah.blah:originalRepo.git git

我希望这似乎不是显而易见的。我有两个git存储库。我们决定将第一个repistry的一个分支拆分为一个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--on
将更改“放置”到子模块历史记录中的某个点上


希望这能有所帮助。

…然后因为人们一再把事情搞砸而狠狠地揍了一顿。;-)很抱歉,我之前没有接受这个,我当时正忙着打电话给别人head@Graham:没问题。我的答案在发布三年多后就被接受了;)我不太确定我是否想知道他们在那段时间里忙着做什么……似乎是重复的