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. Остальные — авто-стэш, точки сохранения, журнал операций и восстановление при старте — описаны в Защите данных.