Что такое git reflog?
Этот вопрос проверяет знание команды git reflog, которая позволяет отслеживать все изменения указателя HEAD в репозитории.
Короткий ответ
git reflog показывает историю всех перемещений HEAD, включая коммиты, слияния и переключения веток. Эта команда полезна для восстановления потерянных коммитов или веток.
Длинный ответ
Git хранит журнал всех изменений HEAD — это и есть reflog. Даже если вы удалили ветку или коммит, он остаётся в reflog в течение 30 дней (по умолчанию).
Команда:
git reflogОна показывает список всех операций, включая их хэши, например:
a1b2c3d HEAD@{0}: commit: Updated README
d4e5f6g HEAD@{1}: checkout: moving from feature to mainПрименение reflog:
Восстановление потерянного коммита:
Если вы случайно удалили ветку или сбросили коммит:
git reset --hard <commit_hash>Просмотр операций в репозитории:
Вы можете видеть, какие действия были выполнены, даже если их нет в git log.
Пример:
Если вы сбросили ветку feature, но хотите её восстановить:
git reflog
git checkout -b feature <commit_hash>git reflog — это спасательный инструмент для работы с историей изменений.