Уменьшить размер хранилища git

Я попытался найти хороший учебник по уменьшению размера репо, но не нашел его. Как уменьшить размер моего репо... это около 10 МБ, но дело в том, что Heroku позволяет только 50 МБ, и я не знаю, где почти закончил разработку моего приложения.

Я добавил обычных подозреваемых (log, vendor, doc и т.д.) к .gitignore уже. Хотя я недавно добавил .gitignore.

Любые предложения?

Ответ 1

git gc --aggressive - это один из способов принудительного выполнения процесса чернослива (обязательно: git gc --aggressive --prune=now). У вас есть другие команды, чтобы очистить репо. Однако не забывайте, что иногда git gc может увеличить размер репо!

Он также может использоваться после filter-branch, чтобы отметить некоторые каталоги, которые должны быть удалены из истории (с дальнейшим увеличением пробела); см. здесь. Но это означает, что никто не отрывается от вашего публичного репо. filter-branch может хранить резервные копии в .git/refs/original, чтобы также можно было очистить каталог.

Наконец, как упоминалось в этом комментарии и этот вопрос; очистка reflog может помочь:

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

Еще более полное и, возможно, опасное решение для удаления неиспользуемых объектов из репозитория git

Ответ 2

Спасибо за ваши ответы. Вот что я сделал:

git gc
git gc --aggressive
git prune

Это, казалось, сделало трюк. Я начал с около 10,5 МБ, и теперь он немного больше, чем 980 КБ.