Что такое команда git, чтобы стереть все изменения и вернуть состояние вашего последнего коммита? - PullRequest
3 голосов
/ 21 мая 2011

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

Есть ли для этого команда git?

Спасибо!

Ответы [ 2 ]

6 голосов
/ 21 мая 2011

Во-первых, чтобы отменить изменения в отслеживаемых файлах:

git reset --hard HEAD

git reset только сбрасывает индекс; добавление --hard также сбрасывает рабочую копию. Если вы уже зафиксировали, укажите другой коммит для сброса - например, HEAD^, чтобы вернуться к родительскому коммиту HEAD (т. Е. Удалить последний коммит).

Далее, чтобы удалить все неотслеживаемые файлы:

git clean -dfx

-d говорит ему об удалении каталогов, -f заставляет его фактически выполнить удаление, а -x пропускает .gitignore d файлов.

3 голосов
/ 21 мая 2011

Если я правильно понимаю, вы что-то совершили и хотите, чтобы это было отменено git reset --hard HEAD^

Если вы ничего не зафиксировали, и только ваше рабочее дерево испорчено, тогда git reset --hard HEAD

...