Есть ли простой способ откатить все изменения в рабочей директории к последнему коммиту?
Допустим я сделал коммит "my last commit"
а после этого удалил в рабочей директории две папки, три файла, и внес изменения в 10 файлов.
могу ли я вернуть состояние рабочей директории к исходному, которое было на момент, когда я сделал последний коммит "my last commit"?
я гуглил. но во всех текстах начинают морочить голову какими-то "тремя ветками", чем-то там еще, и к пятому абзацу я уже вообще ничего не понимаю :)
а мне просто надо откатить всё к последнему состоянию, для которого я сделал коммит - для этого ведь Git и сделан (ну, условно говоря).
допустим, изменения я в индекс не добавлял, вообще ничего с гитом не делал, просто внес изменения в структуру файлов и папок.
как?
upd.: пока писал это - подумал: сделать еще один коммит с изменениями, а потом git checkout <хэш предыдущего коммита>, а потом удалить коммит с изменениями - это самый простой способ будет? или тогда изменения останутся?
Есть даже круче, я так откатывал неудачные rebase.
Нам нужны 3 команды git reflog позволяет просматривать историю операций с репозиторием. get reset --hard "HEAD@{число}" с помощью этой команды мы можем вытянуть любое состояние репозитория git cherry-pick эта команда позволяет вытащить любой коммит по хэшу, будь-то из другой ветки, истории
git cherry-pick "HEAD@{3}" - так мы вытащили наш запрятанный коммит
Сергей Кузнецов, можно добавить параметр --no-commit и тогда не будет merge. Хотя я может и ошибаюсь, но по крайне мере коммитить придётся самому изменения.