Допустим, вы работаете над кодом в Git, и что-то пошло не так, как планировалось. Итак, теперь вам нужно отменить последний коммит. Как это сделать? Давайте узнаем!
Есть два возможных способа отменить последний коммит. В этой статье мы рассмотрим и то, и другое.
Команда revert
Команда revert
will create a commit that reverts the changes of the commit being targeted. You can use it to revert the last commit like this:
git revert <commit to revert>
используя git log
. Первый коммит, описанный там, является последним созданным коммитом. Затем вы можете скопировать оттуда буквенно-цифровое имя и использовать его в revert
команде.
Команда
Вы reset
также можете использовать эту reset
команду для отмены последнего коммита. Но будьте осторожны – это изменит историю коммитов, поэтому использовать его следует редко. Он переместит HEAD, рабочую ветку, в указанный коммит и отбросит все, что после:Опция --soft
означает, что вы не потеряете незафиксированные изменения, которые у вас могут быть.
git reset --soft HEAD~1
Если вы хотите сбросить настройки до последнего коммита, а также удалить все непроиндексированные изменения, вы можете использовать --hard
опцию:
git reset --hard HEAD~1
Это отменит последний коммит, а также любые незафиксированные изменения.
Использовать ли reset
Git или revert
в Git?
На самом деле вы должны использовать reset
только в том случае, если фиксируемый коммит существует только локально. Эта команда изменяет историю фиксаций и может перезаписать историю, от которой зависят удаленные члены команды.
revert
instead creates a new commit that undoes the changes, so if the commit to revert has already been pushed to a shared repository, it is best to use revert
as it doesn't overwrite commit history.
Заключение
: Вы узнали о двух способах отмены последнего коммита, а также о том, когда лучше всего использовать один вместо другого.
Теперь, если вы заметили, что ваш последний коммит вносит ошибку или не должен был быть зафиксирован, вы знаете, как это исправить!