Ответ 1
C:\Users\VonC\prog\git\git>git log -Ssize-garbage|more
Это показывает, что вывод size-garbage
был введен в зафиксировать 1a20dd4 Nguyễn Thái Ngọc Duy (pclouds
) для git 1.8.3 (май 2013)
size-garbage
: дисковое пространство, потребляемое файлами мусора, в KiB
count-objects
: сообщите, сколько дискового пространства занимают файлы мусораТакже выдавайте предупреждения на свободные мусора вместо ошибок в результате используя функцию
report_garbage()
вcount_objects()
Этот раздел для очистки мусора упоминает:
Чтобы довести размер репо до минимального минимума, вам понадобятся обе следующие команды (ни одна из команд не выполняет всю работу).
Также обратите внимание на нижний регистр "a
" на "repack
", в котором говорится, что вы хотите вслепую отказаться от недостижимых объектов, вместо того чтобы держать их в виде незакрепленных объектов.
git repack -adf # kills in-pack garbage
git prune # kills loose garbage
Повторите попытку git count-objects -v -H
после применения обеих команд.
Глядя на git repack
справочная страница, jthill добавляет в комментариях:
Я предпочитаю вариант big-
a
:
"То же, что и
-a
, если не используется-d
.
Тогда любые недостижимые объекты в предыдущем пакете становятся свободными, распакованными объектами, а не остаются в старом пакете."
Линус Торвальдс утверждает, что
-f
какgc
--aggressive
многократно используется - настолько, что он предложил выдернуть документацию для него.
(в 2007 году)
(-f
для--no-reuse-delta
)
Это означает, что более эффективная комбинация может быть:
git repack -Ad # kills in-pack garbage
git prune # kills loose garbage