Сохранить reflog для удаленных ссылок
В моем локальном клоне git-репо при удалении (или переименовании) ссылки, прикрепленной к старому имени, reflog удаляется.
Я не смог найти опцию, в которой говорится "вести журнал для удаленных ссылок".
Вопрос
Есть ли способ сохранить файлы reflog для удаленных ссылок?
Очистка и gc могут по-прежнему следовать параметрам для записей reflog, недоступных объектов и т. Д.
1 ответ
Насколько я могу судить, git не предоставляет способа сделать это. Я не знаю причины; Конечно, было бы неплохо сохранить ветвь reflog для обычного периода хранения, но, не зная о том, как обычно работает истечение reflog, я не могу сказать, есть ли веская причина, почему это будет слишком сложно. (Или может быть проблема в том случае, если создается новая ветка с тем же именем?)
Независимо от причины, документы указывают, что журнал удален ( https://git-scm.com/docs/git-branch) и не указывают какой-либо способ изменить поведение. Я думаю, вы могли бы вручную скопировать файл reflog (.git/logs/refs/...
), чтобы сохранить информацию, но это, конечно, не удобный для пользователя подход.
На практике вы в основном ограничены какими-либо записями, которые могут случайно находиться в HEAD
reflog. Итак, я думаю, если вы не уверены, что вам больше не нужна более подробная история ветки, пока не удаляйте ее.