git gc --aggressive --prune = all не удаляет большой файл из хранилища

Есть много вопросов о том, «как удалить случайно добавленный большой файл из репо», многие из них предлагают использоватьgit gc команда. Тем не менее, я считаю, что это не работает для меня, и я не знаю, что происходит не так.

Вот что я сделал:

$ git init
Initialized empty Git repository in /home/wzyboy/git/myrepo/.git/
$ echo hello >> README
$ git add README 
$ git commit -a -m 'init commit'
[master (root-commit) f21783f] init commit
 1 file changed, 1 insertion(+)
 create mode 100644 README
$ du -sh .git
152K    .git
$ cp ~/big.zip .
$ git add big.zip 
$ git commit -a -m 'adding big file'
[master 3abd0a4] adding big file
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 big.zip
$ du -sh .git
77M .git
$ git log --oneline 
3abd0a4 adding big file
f21783f init commit
$ git reset --hard f21783f
HEAD is now at f21783f init commit
$ git log --oneline 
f21783f init commit
$ git gc --aggressive --prune=all
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), done.
Total 6 (delta 0), reused 0 (delta 0)
$ git gc --aggressive --prune=now
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), done.
Total 6 (delta 0), reused 6 (delta 0)
$ du -sh .git
77M .git
$ git version
git version 2.2.2

В выводе консоли выше я создал новый репозиторий git, добавил один небольшой текстовый файл и.git каталог размером 152K, пока все хорошо. Затем я добавил большой файл в репозиторий, и каталог стал более 77M. Тем не менее, после моей попытки удалить большой файл (git reset --hard или жеgit rebase -i), Я не могу восстановить дисковое пространство, заявленное большим файлом, независимо от того, как я запускаюgit gc с разными вариантами.

Кто-нибудь может сказать мне, почемуgit gc не работает в моем случае? Что я должен сделать, чтобы восстановить дисковое пространство? Можно ли восстановить дисковое пространство, используяgit gc вместоgit filter-branch?

Благодарю.

Ответы на вопрос(0)

Ваш ответ на вопрос