假设我的项目存储库中的文件夹如下:
test/EFG
从以下名称重命名:
test/ABC
现在,我正在尝试将EFG
文件夹拆分到新的存储库中。我正在使用以下命令:
git filter-branch --prune-empty --subdirectory-filter test/EFG master
效果很好,但缺点很大。使用此命令,它仅在重命名后{strong> 后将历史记录传输到EFG
文件夹中。
EFG
(文件夹命名为ABC
时的历史记录)?
答案 0 :(得分:-1)
git subtree split
....这应该可以完成您想要的操作。 git文档对此进行了以下说明:
从子树的历史记录中提取新的综合项目历史记录。新的历史记录仅包括影响prefix
的提交(包括合并),并且这些提交中的每个内容现在都在项目的根目录而不是子目录中。因此,新创建的历史记录适合作为单独的git存储库导出。
有关使用方法的详细说明,请参阅https://lostechies.com/johnteague/2014/04/04/using-git-subtrees-to-split-a-repository/。