删除GIT历史记录(提交时间超过6个月)

时间:2020-07-06 10:57:06

标签: git

我在主数据库中有超过35.000次提交的存储库。它的存储空间很大(超过14 GB),我想删除所有6个月以上的旧提交并保留所有更改。我的意思是,我不需要外汇交易。 30.000的历史记录提交,我只想保留最后的5.000。您有什么解决方案可以实现吗?

我想知道如何使用HEAD^5000从现有存储库创建一个新存储库,然后尝试提取其余存储库,但是我不知道它是否可以工作。也正在考虑编辑.git目录,但这可能并不容易。

它可以与rebase / squash一起使用,但是我可以做为历史记录,当我拉动master开发/功能或任何当前的合并请求时,不会有冲突吗?

1 个答案:

答案 0 :(得分:0)

您可以使用git-filter-repo之类的东西来重写仓库历史记录;顺便说一句,它有一些更酷的方法来减少回购规模,例如删除过时的大斑点,也许首先尝试使用res/raw标志。

请注意,重新编写共享的git历史记录将要求所有协作者将其本地更改移植到新的历史记录中,至少可以说这是相当耗时的。您可能还应该与他们协调向新历史的迁移。