Отменить последний коммит, git reset HEAD^

Отменить последний коммит, git reset HEAD^

git reset HEAD^

Для отмены последнего коммита используйте команду git reset с параметром HEAD^ или указанием хеша коммита.

Команда

# Отменит последний коммит
# Перенесёт его изменения в рабочий каталог
git reset HEAD^
# ИЛИ
git reset --mixed HEAD^
# ИЛИ
git reset HEAD~1
# ИЛИ
git reset <хеш коммита>

# Отменит последний коммит
# Перенесёт его изменения в индекс
git reset --soft HEAD^

# Отменит последний коммит
# Удалит все изменения в рабочем каталоге
git reset --hard HEAD^

Параметры команды

  • HEAD^ - Параметр указывает на то, что нужно отменить последний коммит.
  • HEAD~1 - Параметр указывает на то, что нужно отменить один последний коммит. Используйте цифру 2,3,4...n, чтобы отменить несколько последних коммитов.
  • <хеш коммита> - Используйте в качестве параметра хеш любого из ранее сохраненных коммитов, чтобы вернуть состояние файлов до его сохранения.
  • --mixed - Параметр отвечает за то, что после отмены коммита все изменения, сохранённые в нём, будут перенесены в рабочий каталог. Т.е. состояние файлов вернётся до момента сохранения коммита и индексации изменений.
  • --soft - Параметр отвечает за то, что после отмены коммита все сохранённые в нём изменения будут перенесены в индекс. Т.е. состояние файлов вернётся до сохранения коммита.
  • --hard - При использовании данного параметра, после отмены коммита, все связанные с ним изменения будут навсегда удалены из рабочего каталога. Т.е. файлы в рабочем каталоге вернутся в состояние до начала внесения изменений отменённого коммита.

Описание

Команда git reset с указанным в качестве параметра хешем или ссылкой на коммит, отменит его сохранение. За то, как поступить с сохраненными в коммите изменениями, отвечают параметры --mixed, --soft и --hard. Возможно перенести изменения в рабочий каталог, оставить в индексе или навсегда удалить из проекта.