Как отменить оформление заказа в git? - PullRequest
107 голосов
/ 30 августа 2010

Я только что проверил более ранний коммит из моего локального репозитория git.Я не вносил в него никаких изменений, я просто смотрел на это.Теперь я хочу вернуться к своему последнему коммиту - как мне это сделать?

Точная команда, которую я использовал для проверки:

git checkout e5dff6b3c5d704f9b598de46551355d18235ac08

Теперь, когда я набираю git logсверху я вижу этот проверенный коммит, но ни один из моих последующих коммитов.Я случайно удалил их?

Ответы [ 3 ]

158 голосов
/ 30 августа 2010

Попробуйте сначала:

git checkout master

(Если вы находитесь на ветке, отличной от master, используйте вместо нее имя ветви.)

Если это не сработает, попробуйте ...

Для одного файла:

git checkout HEAD /path/to/file

Для всей рабочей копии хранилища:

git reset --hard HEAD

И если это не сработает, то вы можете посмотреть в журнале переписок, чтобы найти вашу старую головку SHA и сбросить ее на:

git reflog
git reset --hard <sha from reflog>

HEAD - это имя, которое всегда указывает на последний коммит в вашей текущей ветке.

42 голосов
/ 02 июня 2016

Отменить git checkout сделать git checkout -, аналогично cd и cd - в оболочке.

13 голосов
/ 30 августа 2010

Вы, вероятно, хотите git checkout master или git checkout [branchname].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...