如何从git repo中删除blob

时间:2011-08-26 08:06:28

标签: git version-control

我意外地将数据库转储(超过1 GB)添加到我的仓库中,推了几天后注意到了这一点。我使用git filter-branch删除文件,过期的reflog并运行git gc来修剪未使用的对象,但数据库转储blob仍在repo中。我使用Which commit has this blob?,但确实发现了任何提交blob的提交。如何删除这个或如何找出它在git gc期间没有被删除的原因?

2 个答案:

答案 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没有删除它。