我有一个git存储库,其结构如下:
.git\
AB1\
AB2\
CD1\
EF1\
EF2\
并希望对其进行重新构建,使其包含在三个分支中:
branchA包含文件夹AB1\ and AB2\
,branchB包含文件夹CD1\
,branchC包含文件夹EF1\ and EF2\
。这样每个分支只包含该分支的文件夹,但如果我将它们合并在一起,则不会删除任何文件夹。每个文件夹的历史记录应该可以单独访问,而不是像原始仓库那样混合使用。然而,他们共享一个共同的祖先,因为它们是不同编程语言中的相同内容。
最后历史应该是这样的:
O--A------B--C <-- branchA
\
D--E--F <-- branchB
\
G-H <-- branchC
我尝试使用子树分割和 filter-branch 方法,但它们要么不可重新合并,要么完全破坏文件夹的历史记录。
是否有可能做到这一点或至少是重组git历史的工具?