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

问题描述

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

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

是否有任何选项可以使用上述大小的存储库更快地做到这一点?

编辑:我知道我需要的文件很新(2018 年添加)。也许有可能git-splits从 2018 年开始为历史做点什么?我可以将其追溯到首先添加这些文件的指定提交。

标签: gitmicroservicesmonorepo

解决方案


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


推荐阅读