将两个git仓库合并为一个,包括所有历史记录和所有分支。
将两个git仓库合并为一个,包括所有历史记录和所有分支。
我正在处理多个 Git 仓库,并且需要修改其中许多仓库以实现新功能。所以我想到将这些仓库合并成一个,以减少管理工作量和在所有仓库中为每个功能创建分支的需要。
我发现了多个关于将一个仓库的特定分支合并到其他仓库分支的答案,比如合并两个 Git 仓库的分支或者使用 Git 子树。
这不是我想要的。我想将整个仓库 B 与其所有分支和提交集成到仓库 A 中。最终,一个仓库中会有多个根,每个根下有一堆分支。
然后,我想根据它们的功能(a、b、d)合并所有分支,将所有树连接在一起。
我认为一定有类似svn dump的东西,可以将仓库 B 的所有信息转储并加载到目标仓库 A 的孤立分支中。
每个文件的历史仍然应该在最后可用,以便能够追溯在分离的仓库中进行的更改。
明确一点:我不想合并不同仓库的分支。我想将仓库 A 和 B 的整个内容,包括所有分支和提交历史,合并在一起。
问题的出现原因:
- 当需要合并两个Git仓库时,我们希望将所有的历史记录和分支都合并到一个仓库中。然而,在给出的链接中,只提到了合并主分支,没有提到如何合并其他未合并的分支。
解决方法:
- 我们可以参考Stack Overflow上的一个类似问题,该问题保留了所有的历史记录和分支。
- 另外,我们可以查看Medium上的一篇好的文档,该文档提供了如何将两个或多个Git仓库合并成一个的详细步骤。
以上是问题的原因和解决方法。