我有一个Git仓库,里面有数百GB的数据,比如数据库备份,所以我想要删除旧的、过时的备份,因为它们会让一切变得更大和更慢。因此,我需要一个快速的解决方案;越快越好。
如何压缩(或者直接删除)除最近提交记录之外的所有提交记录,并且不需要手动压缩每个提交记录在交互式 rebase中?具体来说,我不想使用
git rebase -i --root
比如,我有这些提交记录:
A .. B .. C ... ... H .. I .. J .. K .. L
我想要的是将 A
和 H
之间的所有内容压缩为一个 A
标签。A .. H .. I .. J .. K .. L
甚至这个也可以正常工作:
H .. I .. J .. K .. L
有一个关于如何压缩所有提交的答案(链接),但我想保留一些最近的提交。我也不想压缩最近的提交。(特别是我需要保留从顶部开始计数的前两个提交。)
(编辑,几年后。对于这个问题,正确的答案是使用适合工作的正确工具。无论多么方便,Git 都不是存储备份的很好的工具。有更好的工具。)