Git. как отменить внесенные изменения в коммит

Периодически при работе с сервером контроля версий git появляется надобность отменить или исправить тот или иной коммит. Рассмотрим как это делается.

Для начала посмотрим команды, которые могут отменить команды на локальном сервере, если вы еще не успели сделать git push на основной git-сервер.
В случае, если нам необходимы незначительные изменения, например подправить название или реквизиты коммита, которые мы написали неправильно. нам поможет данная команда

git commit -a --amend

В случае если нам необходимо вообще удалить коммит, чтобы он исчез из списка, необходимо сделать следующую команду

git reset --soft HEAD^

Если же нам необходимо удалить не только commit, но и изменения, которые мы коммитили локально на сервер, то есть попросту вернуться к состоянию файлов на время предыдущео коммита, тогде следует сделать следующее

git reset --hard HEAD^

Будьте острожны с указанной командой, в свое время я испытал это на своем опыте, когда решил перекоммитить последний коммит, для которого правил кучу файлов, и по неопытности использовал git reset —hard HEAD^ после чего у меня удалился не только коммит, но и все правки в файлах, и пришлось делать все изменения кода заново.

Если же вы уже опубликовали Ваш коммит на основной сервер, тогда поможет только такая команда

git revert commit-sha1

такая отмена уже отобразится в списке и будет указана в истории коммитов.

Успехов и эффективного использования!

Метки: , , ,

Reply

Copyright © 2017 Blog Ukritie. All Rights Reserved.
Theme by Lorelei Web Design.