Как мы знаем, мы можем периодически работать git gc
упаковать объекты под .git/objects
.
В случае удаленного центрального репозитория Мерзавца (пустой или не), тем не менее, после многих нажатий, там много файлов под myproj.git/objects
; каждая фиксация, кажется, создает новый файл там.
Как я могу упаковать это много файлов? (Я имею в виду тех на удаленном центральном пустом репозитории, не на локальном репозитории клона.)
Удаленное репо должно быть настроено для запуска gc по мере необходимости после совершения фиксации. См. Документацию по gc.auto на страницах руководства git-gc и git-config.
Однако удаленное репо не должно нуждаться в такой большой сборке мусора, поскольку в нем редко будут зависшие (недоступные) коммиты. Обычно это происходит в результате таких вещей, как удаление ветки и перемещение, которые обычно происходят только в локальных репозиториях.
Итак, gc нужен больше для переупаковки, которая предназначена для экономии места на диске, а не для удаления фактического мусора. Для этого достаточно переменной gc.auto.
Этот вопрос должен пролить свет на то, как часто следует запускать сборку мусора.
Самый простой вариант - использовать запланированное задание в Windows или задание cron в Unix для периодического запуска git gc
. Таким образом, вам даже не нужно об этом думать.