Хранить Git Reflog неопределенно долго?

Я склонен быть немного параноиком в отношении своих данных, в том числе способности восстанавливать их.

Данные Git Reflog удаляются через 30 дней. Есть ли способ установить его так, чтобы данные reflog сохранялись и хранились неопределенно долго?

Есть ли у этого существенное преимущество или недостаток (кроме соображений пространства или скорости)?

1 ответ

Решение

Предостережение: reflogs являются локальными и не отправляются / не принимаются с операциями push/pull.

Минусы: повторные журналы могут привести к (в противном случае) недостижимым моментальным снимкам (и, следовательно, к слябам), которые будут увеличивать объем репо до более крупных размеров, чем это может быть желательно. смотреть на gc.reflogexpireunreachable за то, что может помочь в этом отношении.

Два параметра конфигурации определяют срок действия записей reflog:

gc.reflogexpire, gc.<pattern>.reflogexpire

git reflog expire удаляет записи reflog старше этого времени; по умолчанию до 90 дней. С "" (например, "refs / stash") посередине настройка применяется только к ссылкам, которые соответствуют.

gc.reflogexpireunreachable, gc.<ref>.reflogexpireunreachable

git reflog expire удаляет записи reflog старше этого времени и недоступны из текущей подсказки; по умолчанию 30 дней. С "" (например, "refs / stash") в середине, настройка применяется только к ссылкам, которые соответствуют.

Другие вопросы по тегам