将拆分存储库的历史记录保留在重命名文件夹中

时间:2018-12-09 10:53:34

标签: git git-filter-branch

假设我的项目存储库中的文件夹如下:

test/EFG

从以下名称重命名:

test/ABC

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

git filter-branch --prune-empty --subdirectory-filter test/EFG master

效果很好,但缺点很大。使用此命令,它仅在重命名后{strong> 后将历史记录传输到EFG文件夹中。

>是否也要保持历史记录之前重命名为EFG(文件夹命名为ABC时的历史记录)?

1 个答案:

答案 0 :(得分:-1)

git subtree split

....这应该可以完成您想要的操作。 git文档对此进行了以下说明:

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

有关使用方法的详细说明,请参阅https://lostechies.com/johnteague/2014/04/04/using-git-subtrees-to-split-a-repository/