Git:将多个文件从不同目录移动到新存储库的最快方法

Git: fastest way to move several files from different directories to new repository

我正在致力于将一个大型整体式应用程序拆分为 monorepo 中的多个微服务。 Monolith 位于一个大型 Git 存储库中,其提交历史可追溯到 2010 年。

对于每个新的微服务,我需要从不同的目录中提取多个文件,同时保留它们的历史记录。我试过 git subtree split 但是当来自不同目录的文件在那个提交中时它会加倍提交。我试过 ajdruff/git-splits,但 运行 500 步需要 30 分钟,还有大约 15000 步,所以它至少会 运行 16 小时。

是否有任何选项可以使用上述大小的存储库更快地完成此操作?

编辑:我知道我需要的文件很新(2018 年添加)。也许有可能对 2018 年以来的历史记录进行 git-splits 之类的操作?我可以将其追溯到首先添加这些文件的指定提交。

解决方案是newren/git-filter-repo