Для демонстрации я создал тестовый репозиторий и сделал в нем 4 коммита. Аналогичная ситуация произошла и со мной.
"4th commit" пропадет и будет это выглядеть следующим образом.
Для решения опускаемся ниже, в консоль. Заходим в нужную папку и выполняем команду git reflog.
Здесь можно увидеть кое какую интересную информацию, но нам нужен SHA хеш нашего утерянного коммита. Его можно найти вот в этой строке:
4ce165e HEAD@{6}: commit: 4th commit
Вот он 4ce165e, вернее это короткая версия SHA1 хеша. Чтобы посмотреть что в этом коммите используем
git show 4ce165e
и когда убедились что это то что вы ищете
git checkout 4ce165e
Надеюсь это сэкономит кому-нибудь пару часов или дней работы. Happy coding!
Полезная литература:




Боже мой, спасибо
ReplyDeleteБлин, а если несколько коммитов пропало? Восстанавливаются… хм… не все изменения восстанавливаются.
ReplyDeleteСпасибо. Очень помогло.
ReplyDeleteЧто за приложение вы используете на самом первом скриншоте?
Давно было, кажется это Git-X и их существовало 2 разных версии, одна из них лучше. Сейчас использую Source Tree и пробую новый Tower.
Delete