我正在使用多个git存储库,需要修改其中的许多存储库以实现新功能。因此,我想到了将这些存储库合并到一个的想法,以减少管理工作,并减少了为所有存储库中的每个功能创建分支的需要。
a a a a a
| b | b | b | b | b
| | c | | e | | c | | c | | c
|/ | d |/ | d |/ | d |/ | d |/ | d
| / | | / | | / | | / | | / |
| / / | / / | / / | / / | / /
|/ / |/ / |/ / |/ / |/ /
| / | / | / | / | /
| / | / | / | / | /
|/ |/ |/ |/ |/
| | | | |
A B C D E
我发现了多个答案,可以将一个存储库的特定分支合并到其他存储库的分支中,例如merging branches of two git repositories或使用git子树。 那不是我想做的。
我想将整个存储库B与所有分支集成在一起,并提交到A中。最后,在一个存储库中有多个根,每个根都有一堆分支。
a a
| b b |
| | c e | |
|/ | d d | \|
| / | | \ |
| / / \ \ | ...
|/ / \ \|
| / \ |
| / \ |
|/ \|
| |
A (B)
然后我要根据它们的特征(a,b,d)合并所有分支,以使所有树连接在一起。
a
/ \
/ \
/ b \
/ / \ \
/ / \ \
/ / \ \
/ / \ \
a / \ a
| b d b |
| | c / \ e | |
|/ | d d | \|
| / | | \ |
| / / \ \ |
|/ / \ \|
| / \ |
| / \ |
|/ \|
| |
A (B)
我认为必须有类似a svn dump的东西才能转储存储库B的所有信息,并将其加载到目标存储库A中的孤立分支。
每个文件的历史记录应该在最后仍然可用,以便能够归咎于在单独的存储库中所做的更改。
明确说明:我不想合并不同存储库的分支。我想将整个存储库A和B与所有分支和提交历史结合起来。
答案 0 :(得分:0)