我有一个很大的Blob文件,想要将它删除!我尝试使用以下方法删除该文件:http://dound.com/2009/04/git-forever-remove-files-or-folders-from-history/(我使用了-- --all
而不是HEAD
,以便从所有分支中删除文件)。
rm -rf .git/refs/original/ && git reflog expire --all &&
git gc --aggressive --prune
我通过这个为什么我的git存储库这么大查看了pack文件夹。
$ git verify-pack -v .git/objects/pack/pack-*.idx | sort -k3n
... last 4 lines:
bc7ae9801052180b283cd81880753549f0f92587 blob 19464809 749446 305054873
acd5f09a35846bec25ebc324738139e5caabc50f blob 294278199 71381636 39607483
986d152935434b56cf182d8a32e24cb57af75ac3 blob 480385718 108184804 110989119
ba9d1d27ee64154146b37dfaf42ededecea847e1 blob 761172819 27430741 277589990
这个脚本 git-find-blob
来自于 Which commit has this blob?
$ ./git-find-blob ba9d1d27ee64154146b37dfaf42ededecea847e1
但它什么都找不到。
有什么办法可以从我的存储库中删除它吗?
git status
的输出是否为空?这可能是因为 blob 已被添加到索引,但从未提交。 - Mark Longairgit for-each-ref --format="%(objectname)")
的输出以及不带--cache
的相同命令,可能会很有用。 - Mark Longairgit show-ref
中? - Josh Lee