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

标签 git merge branching-and-merging

我希望这看起来不是显而易见的。我有两个 git 存储库。我们决定将第一个 repoistry 的一个分支拆分成一个 git 子模块。现在我一直在使用这个子模块,但是人们一直在将对第一个存储库的提交推送到被制作成子模块的分支中。

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

我已经尝试将另一个 Remote 添加到第二个 repo 中并 merge 该分支,使用:

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

但是我得到:

fatal: 'otherOrigin' does not point to a commit

谢谢

最佳答案

如果两个 repo 协议(protocol),对于给定的分支(一个在 Repo1 中作为子模块拆分,同时保留在 Repo2 中),最初有一个共同的历史,那么它应该是可能的,理论上,为了:

  • 将 Repo2 中的分支拆分为一个单独的 repo
  • 将该个人仓库添加为当前子模块仓库的远程
  • 尝试从那里执行 merge 。

但如果您必须定期重复该过程(除非您可以编写脚本),这很快就会成为一个拖累。

关于Git - merge 来自不同存储库的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6432642/

相关文章:

git - 为什么克隆公共(public) Git 存储库需要机器的 ssh key ?

git - 如何在团队中使用 git tfs

git - 如何将远程分支 merge 到本地分支?

Git pull 与 Octopus 策略冲突

TFS 分支推荐

git - 本地 git 存储库 - 是否需要 SSH key ?

git - 重做已提交 merge 的一部分

merge - 使用 WebWorker 合并几何图形?

git - 检索已删除或 merge 分支的内容或修改

Git - 推送时自动 rebase