Если вы удаляете Branch в git, удаляется только именованная ссылка, коммиты, в которых хранится источник, все еще находятся вокруг и могут просматриваться с git reflog
или восстановлены (как описано здесь ). Следовательно, удаление ветки не освобождает дисковое пространство (за пределами представления kb). Эти коммиты называются висячие коммиты , потому что нет ветки / тега, который ссылается на объекты. Чтобы убрать этот мерзавец, звоните
git reflog expire --expire-unreachable=now --all
git gc --prune=now
Конечно, это работает, только если у вас нет ветки, ссылающейся на коммиты, содержащие бинарный файл. И это также уничтожает reflog - делает невозможным восстановление в настоящее время удаленных коммитов и веток.
Посмотрите на этот ответ https://stackoverflow.com/a/4528593/2250672