2014-07-02 5 views
2

Итак, я использую git на персональном сервере, и у меня было старое репо, которое мне нужно было обновить. Я удалил кучу старых файлов и зафиксировал и нажал изменение. Я использую веб-интерфейс для него на моем сервере (Gitlist). Когда я использую этот графический интерфейс для загрузки репо в виде zip-файла, он выходит на правильный размер, около 41 МБ. Однако, когда я клонирую репо, он выходит на что-то ближе к концерту из-за размера одного из файлов ./git/objects/pack около 900 МБ.Размер репозитория Git больше, чем должен быть

Почему репо такое большое, когда оно действительно должно быть намного меньше?

+0

http://stackoverflow.com/questions/1029969/why-is-my-git-repository-so-big – Doon

+0

@Doon Я думаю, что разница между этим вопросом и этим заключается в том, что человек, задающий этот вопрос, кажется, понять, что git clone копирует всю историю репозитория, тогда как OP этого вопроса не делает. – Ajedi32

+0

См. Также http://stackoverflow.com/questions/2164581/remove-file-from-git-repository-history и http://stackoverflow.com/questions/2100907/how-to-remove-delete-a- big-file-from-commit-history-in-git-repository? rq = 1 – Ajedi32

ответ

5

Нажатие фиксации, которая удаляет файлы, не опускает git repo меньше.

Вам необходимо удалить эти файлы по истории git repo, чтобы уменьшить размер.
Обычно это делается с помощью комбинации git filter-branch и git gc --aggressive --prune=now: см. «Reduce git repository size».
(Не забудьте: а git gc alone can actually increase the size of the repo!)

Для удаления больших файлов, в tool BFG can help too.

Короче говоря, не потасовку:

  • почтового файла (представляющие одну ревизии репо)
  • полного репозитория (представляющую всех фиксаций)

HEAD, который вы загружаете как zip, действительно меньше (вы удалили файлы).
Но полная история все еще ссылается на них.

+2

«Нажатие фиксации, которая удаляет файлы, не опускает git repo меньше». По иронии судьбы, это сделает его немного большим: p – meagar

+0

@meagar действительно. Я проиллюстрировал это также с http://stackoverflow.com/a/1908476/6309. – VonC

+0

Спасибо за объяснение! – Febble

Смежные вопросы