我有两个存储库A和B,它们包含不同的项目。在某些时候,我创建了一个分支机构' develop'在回购B,并在那里做一些工作。
Repo A master a-a-a-a
Repo B master b-b-b-b
\
develop d-d-d-d-d
我现在要做的是将分支开发从回购B移动到A,而所有提交应该保留,但回购B的历史应该合并。所以最后看起来应该是这样的
Repo A master a-a-a-a
\
develop d-d-d-d-d
Repo B master b-b-b-b
\
develop d-d-d-d-d
如果我比较两个发展分支,它们应该是相似的。 我已经通过
实现了移动分支- [Repo B] git remote add /url/to/RepoA
- [Repo B] git push RepoA develop
然而,这也包括Repo B(b-b-b-b)的整个历史,我不想要(或实际上合并为一次提交)。
有关如何执行此操作的任何建议吗?
由于
答案 0 :(得分:2)
你做完之后:
[Repo B] git push RepoA develop
我想你会得到类似的东西:
Repo A master a-a-a-a
repoB/master b-b-b-b
\
develop d-d-d-d-d
即。 1}}和repoA/master
这两个分支位于您的仓库中但未连接。
为什么不执行rebase?
使用repoB/master
选项,以便您可以决定将-i
提交压缩为一个提交(我认为这是您想要的)
命令是
b-b-b-b
然后,您将选择第一个提交git rebase -i master develop
并压缩以下提交
结果应该是:
b
其中Repo A master a-a-a-a
\
develop b'-d'-d'-d'-d'-d'
是压缩4次提交b'
的提交
而b
是提交d'
提交的提交。