GIT - 在filter-branch之前删除旧的提交历史记录

时间:2015-02-03 12:28:13

标签: git git-filter-branch

我想使用在此问题上声明的方法将4个存储库合并为一个:Combining multiple git repositories

问题是整个过程需要大约3个小时才能完成,因为其中一个存储库自2008年以来有大约26000个提交。

自2013年以来,有没有办法只处理提交,例如使用--commit-filter?  谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用有限的图形深度创建拼接回购的单独克隆:

git clone --depth 100 /local/path/a /tmp/to-stitch/a
git clone --depth 120 /local/path/b /tmp/to-stitch/b
git clone --depth 200 /local/path/c /tmp/to-stitch/c

然后缝合/tmp/to-stitch/a/tmp/to-stitch/b/tmp/to-stitch/c。每个仓库中的第一个提交将从repo的根提交中删除压缩的补丁,直到HEAD~<n>