Осторожно: git reset --hard
УДАЛИТ ВАШИ ИЗМЕНЕНИЯ В РАБОЧЕМ СПРАВОЧНИКЕ . Обязательно сохраните все локальные изменения, которые вы хотите сохранить перед выполнением этой команды.
Если вы сидите на этом коммите, то эта команда его испортит ...
git reset --hard HEAD~1
HEAD~1
означает коммит перед головой.
Или вы можете посмотреть на вывод git log
, найти идентификатор коммита коммита, на который вы хотите создать резервную копию, и затем сделать это:
git reset --hard <sha1-commit-id>
<Ч />
Если вы уже толкнули его, вам нужно будет сделать силовой толчок, чтобы избавиться от него ...
git push origin HEAD --force
Однако , если другие, возможно, потянули его, то вам лучше начать новую ветку. Потому что, когда они потянут, это просто объединит их с их работой, и вы снова подтолкнете их вверх.
Если вы уже нажали, может быть лучше использовать git revert
, чтобы создать коммит "зеркального отображения", который отменит изменения. Тем не менее, обе фиксации будут в журнале.
<ч />
К вашему сведению - git reset --hard HEAD
замечательно, если вы хотите избавиться от РАБОТЫ В ПРОГРЕССЕ. Он вернет вас к самой последней фиксации и сотрет все изменения в вашем рабочем дереве и индексе.
<ч />
И наконец, если вам нужно найти коммит, который вы «удалили», он обычно присутствует в git reflog
, если вы не удалили мусор в вашем хранилище.