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。
我正在致力于将一个大型整体式应用程序拆分为 monorepo 中的多个微服务。 Monolith 位于一个大型 Git 存储库中,其提交历史可追溯到 2010 年。
对于每个新的微服务,我需要从不同的目录中提取多个文件,同时保留它们的历史记录。我试过 git subtree split
但是当来自不同目录的文件在那个提交中时它会加倍提交。我试过 ajdruff/git-splits,但 运行 500 步需要 30 分钟,还有大约 15000 步,所以它至少会 运行 16 小时。
是否有任何选项可以使用上述大小的存储库更快地完成此操作?
编辑:我知道我需要的文件很新(2018 年添加)。也许有可能对 2018 年以来的历史记录进行 git-splits
之类的操作?我可以将其追溯到首先添加这些文件的指定提交。
解决方案是newren/git-filter-repo。