删除/折叠git历史记录

时间:2013-01-09 00:53:30

标签: git garbage-collection

我的git存储库开始变得有点太大了。在一个SSD上,我有一个存储库和两个带有大量二进制文件的克隆,占用了大量的空间。

每天,cron作业都会将主克隆推送到存储库,以便在很长一段时间内创建更改历史记录。

然而,任何超过一个月的事情都不值得保留。我希望能够删除那些旧的提交以节省大量空间...以编程方式。

我见过大量使用rebasesquash的示例,一对使用gc的示例,以及其他一些非常时髦的示例。其中大多数都要求您手动键入要删除的提交标记。

我想每月从bash脚本中删除所有超过30天的提交(我想我必须配置钩子以便在其他地方折叠历史记录)。

1 个答案:

答案 0 :(得分:0)

好的,这个怎么样。它获得第一次提交然后启动rebase。只需删除您喜欢的提交。

# Get first commit
git log --format=%H | tail -1 | xargs git rebase -i

ref