Подтвердить что ты не робот

Восстановить локальную фиксацию?

Я вытащил код из своего репо, который перепутал ситуацию. Я хотел бы вернуть весь мой проект до последнего локального коммита. Как мне это сделать?

4b9b3361

Ответ 1

Это будет reset все для вашей текущей фиксации (избавление от всех изменений, поэтапное или иное:

git reset HEAD --hard

Это будет reset все для предыдущего фиксации (также избавление от всех изменений, поэтапное или иное)

git reset HEAD^ --hard

the ^ рядом с HEAD означает фиксацию один до HEAD, HEAD - это место, где вы сейчас находитесь. Вы можете вернуть два коммита, используя ^^, или три с ^^^. Кроме того, вы можете использовать тильду, чтобы указать количество коммитов: ~ 3 для трех коммитов назад.

git reset HEAD~3 --hard

Также имейте в виду, что опция --hard означает, что эти команды отбросят любые изменения, которые у вас есть, которые не спрятаны.

Ответ 2

Найдите свой последний локальный коммит в git log и запустите git reset --hard <commit sha1>.

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

Ответ 3

git pull может извлекать и объединять несколько коммитов. Чтобы вернуться в предыдущее локальное состояние (а не обратно n-commits), вы можете использовать reflog. git reset --hard @{1}