================================================================================
# Просмотр логов и восстановление данных
================================================================================
https://learn.javascript.ru/screencast/git#branches-reflog
git reflog - Предоставляет информацию об изменении положения указателей
- Можно найти потерянные коммиты и восстановить данные!
- Помогает при удалении веток (когда нужно вернуть их обратно)
и при других потенциально опасных ситуациях (если что то удалили)
--------------------------------------------------------------------------------
git reflog - Получение информации об изменении положения HEAD
git reflog HEAD - Тоже самое (длинная запись)
git reflog master - Получение информации об изменении положения master
git reflog --no-decorate - Убрать из вывода дополнительные ссылки
git reflog --date=iso - Вывод даты
git log --oneline -g - Тоже самое через git log
# Если ветка была удалена, мы можем восстановить ее из reflog, зная текст последнего коммита:
git branch feature HEAD@{6} - Пересоздали ветку
git branch feature HEAD{'2019-03-01 22:49:07 +0200'} - Восстановление по дате
# Переход на предыдущую ветку, с которой был checkout на данную
git checkout @{-1} - Используется синтаксис reflog
git checkout @{-3} - Отступить назад на указанное количество checkout -ов
# Записи в reflog хранятся минимум 30 дней
gc.reflogExpire="90 days ago"
gc.reflogExpireUnreachable="30 days ago"