我意外地将数据库转储(超过1 GB)添加到我的仓库中,推了几天后注意到了这一点。我使用git filter-branch删除文件,过期的reflog并运行git gc来修剪未使用的对象,但数据库转储blob仍在repo中。我使用Which commit has this blob?,但确实发现了任何提交blob的提交。如何删除这个或如何找出它在git gc期间没有被删除的原因?
答案 0 :(得分:13)
在运行git gc时,您准确调用了哪个命令?
请注意git gc的联机帮助页:
可选配置变量gc.pruneExpire控制未被引用的松散对象在被修剪之前必须有多长。默认为“2周前”
因此,如果您的blob小于14天,则必须致电
git gc --prune=<date> (for date you also can insert now)
答案 1 :(得分:1)
你不能只做rm .git/objects/path/to/blob
吗?
我不确定为什么git-gc
没有删除它。