git - Git:将多个文件从不同目录移动到新存储库的最快方法
问题描述
我正在将一个大型单体应用程序拆分为 monorepo 中的多个微服务。Monolith 位于一个大型 Git 存储库中,其提交历史可追溯至 2010 年。
对于每个新的微服务,我需要从不同的目录中提取几个文件,同时保留它们的历史记录。我已经尝试过git subtree split
,但是当来自不同目录的文件在该提交中时,它会加倍提交。我已经尝试过ajdruff/git-splits,但运行 500 步需要 30 分钟,而且还有大约 15000 步,所以它至少会运行 16 小时。
是否有任何选项可以使用上述大小的存储库更快地做到这一点?
编辑:我知道我需要的文件很新(2018 年添加)。也许有可能git-splits
从 2018 年开始为历史做点什么?我可以将其追溯到首先添加这些文件的指定提交。
解决方案
解决方案是newren/git-filter-repo。
推荐阅读
- react-native - 有没有办法让智能手机成为一个具有原生反应的灯塔?
- python - 应用高斯函数后填充nan值
- c++ - LoadLibraryEx ERROR_INVALID_ORDINAL
- python - 在 re.sub 的反向引用中匹配大小写
- javascript - vscode 扩展。来自 webview 的“JS 导入”
- reactjs - 在构建时运行更少的单元测试?
- swift - 如何使用 Swift 将滚动视图放在视图的特定区域并在其中放置标签?
- xcode - xcodebuild ( 来自 Xcode12 ) - 防止为 Apple Silicon (arm64) 构建
- git - 使用 AWS CodeCommit 的 Git 工作流程
- javascript - 如何将用户创建的列表项保存在本地存储中?