我的git存储库开始变得有点太大了。在一个SSD上,我有一个存储库和两个带有大量二进制文件的克隆,占用了大量的空间。
每天,cron作业都会将主克隆推送到存储库,以便在很长一段时间内创建更改历史记录。
然而,任何超过一个月的事情都不值得保留。我希望能够删除那些旧的提交以节省大量空间...以编程方式。
我见过大量使用rebase
和squash
的示例,一对使用gc
的示例,以及其他一些非常时髦的示例。其中大多数都要求您手动键入要删除的提交标记。
我想每月从bash脚本中删除所有超过30天的提交(我想我必须配置钩子以便在其他地方折叠历史记录)。
答案 0 :(得分:0)
好的,这个怎么样。它获得第一次提交然后启动rebase。只需删除您喜欢的提交。
# Get first commit
git log --format=%H | tail -1 | xargs git rebase -i