git从存储库提取目录-缺少重命名前的提交历史记录

git从存储库提取目录-缺少重命名前的提交历史记录,git,Git,我想从存储库中提取一个目录,包括它的所有提交历史记录。我遇到的问题是,最终结果不包含移动/重命名文件之前的提交历史记录(这是在某个时候完成的) 例如: 我想从项目存储库中提取src/lib/features/TheLib 此目录“theLib”以前在某个点位于不同的位置,例如“src/util/lib/theLib” 主存储库包含对文件所做更改的完整历史记录,包括在将库移动到repo中的新位置之前所做的更改 如果我试图将目录提取到一个新的存储库中,我只有文件移动/重命名后的提交历史记录

我想从存储库中提取一个目录,包括它的所有提交历史记录。我遇到的问题是,最终结果不包含移动/重命名文件之前的提交历史记录(这是在某个时候完成的)

例如:

  • 我想从项目存储库中提取src/lib/features/TheLib

  • 此目录“theLib”以前在某个点位于不同的位置,例如“src/util/lib/theLib”

  • 主存储库包含对文件所做更改的完整历史记录,包括在将库移动到repo中的新位置之前所做的更改

  • 如果我试图将目录提取到一个新的存储库中,我只有文件移动/重命名后的提交历史记录

我已尝试此[0]:

$ git filter-branch --prune-empty --subdirectory-filter src/lib/features/TheLib master
这[1]:

$ ./git-filter-repo --subdirectory-filter src/lib/features/TheLib
这两种工具给了我相同的结果。除了重命名之前没有提交历史记录外,它几乎可以正常工作

[0]


[1]

我认为这可以通过一个bash脚本来完成,该脚本将检索与目录中的文件相关的所有提交,并在新的存储库中逐个重新应用它们。然而,如果这样的东西已经存在的话,我不想重新发明轮子。