Как удалить мою локальную ветку истории, не затрагивая мастер - PullRequest
0 голосов
/ 05 сентября 2018

Я создал ветку из мастера, и добавлял и удалял большое количество двоичных файлов в ветке. В результате размер репо увеличился в три раза по сравнению с его первоначальным размером. Я удалил бинарные файлы и удалил ветку, но размер репо не меняется. Как я могу минимизировать размер репо?

1 Ответ

0 голосов
/ 05 сентября 2018

Если вы удаляете Branch в git, удаляется только именованная ссылка, коммиты, в которых хранится источник, все еще находятся вокруг и могут просматриваться с git reflog или восстановлены (как описано здесь ). Следовательно, удаление ветки не освобождает дисковое пространство (за пределами представления kb). Эти коммиты называются висячие коммиты , потому что нет ветки / тега, который ссылается на объекты. Чтобы убрать этот мерзавец, звоните

git reflog expire --expire-unreachable=now --all
git gc --prune=now

Конечно, это работает, только если у вас нет ветки, ссылающейся на коммиты, содержащие бинарный файл. И это также уничтожает reflog - делает невозможным восстановление в настоящее время удаленных коммитов и веток.

Посмотрите на этот ответ https://stackoverflow.com/a/4528593/2250672

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...