GitBorGitBor

Reflog и восстановление

Просмотр истории перемещений HEAD и восстановление потерянных коммитов

Reflog — это запись Git о каждом перемещении HEAD: commit, checkout, reset, rebase, merge, pull, cherry-pick. Git хранит его около 90 дней, что делает его страховкой на случай «я только что сбросил не ту ветку». GitBor показывает его как просматриваемый список с возможностью восстановления.

Открыть reflog

Repository → More → Reflog… открывает полную историю HEAD текущего репозитория:

КолонкаЧто показывает
ActionТип перемещения — checkout, commit, merge, rebase, reset, pull, cherry-pick.
SHAКоммит, на который указывал HEAD.
DetailsСобственное описание записи от Git.
DateКогда это случилось.

Из любой записи можно сделать Copy SHA.

Восстановление

Выберите запись и нажмите Restore, чтобы сделать hard-reset HEAD на эту точку (с подтверждением, так как незакоммиченные изменения теряются). Так восстанавливаются после неудачного reset, ненужного rebase или удаления ветки — «потерянные» коммиты всё ещё достижимы из reflog, пока Git их не соберёт сборщиком мусора.

Объяснение reflog с помощью AI

В диалоге reflog есть кнопка Explain reflog. Она превращает сырые строки в понятный таймлайн: группирует низкоуровневые шаги в одно логическое событие («вы сделали интерактивный rebase, затронувший 5 коммитов»), отмечает моменты, где HEAD двигался без коммита (восстановимые «потерянные» коммиты), и подсказывает точную команду восстановления, когда что-то похоже на ошибку. См. AI-помощники.

Как это вписывается в общую картину

Reflog — первый из пяти слоёв защиты GitBor. Остальные — авто-стэш, точки сохранения, журнал операций и восстановление при старте — описаны в Защите данных.