Git 保留重命名文件夹上已拆分存储库的历史记录

Git 保留重命名文件夹上已拆分存储库的历史记录,git,git-filter-branch,Git,Git Filter Branch,假设我的项目存储库有一个文件夹,如: test/EFG 将其重命名为: test/ABC 现在我正在尝试将EFG文件夹拆分到新的存储库中。我正在使用以下命令: git filter-branch --prune-empty --subdirectory-filter test/EFG master 它工作得很好,但也有一个很大的缺点。使用此命令,它仅在重命名到EFG文件夹后将历史传输到。在重命名为EFG之前,是否还要保留历史记录(命名为ABC时文件夹的历史记录) 。。。。这应该可以做到,你

假设我的项目存储库有一个文件夹,如:

test/EFG
将其重命名为:

test/ABC
现在我正在尝试将
EFG
文件夹拆分到新的存储库中。我正在使用以下命令:

git filter-branch --prune-empty --subdirectory-filter test/EFG master
它工作得很好,但也有一个很大的缺点。使用此命令,它仅在重命名到EFG文件夹后将历史传输到。在重命名为
EFG
之前,是否还要保留历史记录(命名为
ABC
时文件夹的历史记录)

。。。。这应该可以做到,你想要什么。git文档对此作了如下说明:

从子树的历史记录中提取新的合成项目历史记录。新的历史记录仅包括影响
前缀的提交(包括合并),并且每个提交的内容现在都位于项目的根目录而不是子目录中。因此,新创建的历史适合作为单独的git存储库导出


有关如何使用它的更详细说明,请参阅。

对于
git子树
,在这种情况下,可能是更好的参考。
git subtree split