Как отменить последний коммит в git

Если у вас возникла ситуация, когда вы уже сделали коммит, но хотите добавить в него новые данные, можно воспользоваться командой:

git commit -a --amend

ключ --amend будет означать что нужно добавить новые изменения в последний коммит.

 

Если вы сделали коммит, но решили его удалить (отменить), то есть 2 варианта решения этого вопроса.

Чтобы отменить коммит, но ОСТАВИТЬ все изменения (файлы и правки в файлах НЕ будут удалены), нужно ввести команду:

git reset --soft HEAD^

ключ --soft указывает на то что изменения не будут удалены
 

Чтобы удалить коммит и все файлы (изменения), нужно ввести команду:

git reset --hard HEAD^

ключ --hard говорит о том, что нужно удалить и коммит и файлы

Также вместо значения HEAD^ вы можете указать hash любого другого коммита (не последнего).

 

Все эти способы работают если вы еще не опубликовали изменения на сервере. Если же нужно отменить коммит на сервере, нужно воспользоваться командой:

git revert *COMMIT-sha1*
git push

где *COMMIT-sha1* - id вашего коммита

Категория