Время истечения Git reflog - PullRequest
0 голосов
/ 10 октября 2018

Мне известно, что записи reflog удаляются , которые старше 90 дней .Я не сделал никаких изменений в git config тоже относительно этого.Сегодня, когда я сделал git reflog master --date=local, я могу видеть записи за 10 месяцев до этого.Как это возможно? Я должен видеть только записи, датируемые 3 месяцами ранее?

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

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.

0 голосов
/ 10 октября 2018

Как это возможно?

Довольно простое объяснение - это возможно, если вы не запускаете git reflog expire или git gc регулярно.Если вы сделали это, и они все еще там, пожалуйста, исправьте ваш вопрос.Иначе, вот и все.

Наберите git gc и увидите, как они исчезают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...