Git будет автоматически запускаться git gc
периодически, если вы не отключите его.Но период для этого автоматического GC нигде не определен, и фактически он вообще не основан на времени.Вместо этого он основан на быстром опросе, который git gc --auto
делает из состояния хранилища.Более того, он запускается с помощью другой команды Git, которая просто запускает git gc --auto
в конце своей работы.Затем git gc --auto
решает, запускать ли git gc
, и если да, то git gc
запускает git reflog expire
с истечением 90 дней.
В этом случае, возможно, либо вы не выполнили команду Gitкоторый бежал git gc --auto
, или git gc --auto
решил ничего не делать, в течение 10 месяцев.Это выглядит немного чрезмерно, 1 , поэтому более вероятно, что вы отключили автоматический GC, установив gc.auto
в 0
.Также возможно, что вы столкнулись с интересной ошибкой: см. этот ответ VonC на один из приведенных ниже вопросов «см. Также», в котором есть исправление ошибки, которая укусила людей.
См. Также Список всех команд, вызывающих git gc --auto , Общие сведения о git gc --auto и Как часто следует использовать git-gc?
1 Насколько это чрезмерно, зависит от того, насколько активен репозиторий.Довольно тихий репо может не накапливать достаточно свободных предметов, чтобы заставить git gc --auto
делать что-либо в течение многих месяцев;занятому человеку часто требуется автоматический gc.