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

Допустим, вы работаете над кодом в Git и вдруг что-то пошло не по плану. Вам нужно отменить ваш последний коммит. Как это сделать? Давайте разберемся!

Отменить последний коммит можно двумя способами. В этой статье мы рассмотрим оба.

Команда git revert

Команда git revert создает коммит, который возвращает изменения, внесенные с указанным коммитом. С помощью этой команды можно отменить последний коммит:

git revert <коммит-который-надо-вернуть>

Найти имя коммита, который нужно вернуть, можно при помощи команды git log. Первый коммит в выдаче и будет вашим последним созданным коммитом.

Вы можете скопировать его хэш (цифробуквенный идентификатор) и использовать его в команде revert.

Команда git reset

Отменить последний коммит можно также при помощи команды git reset. Но будьте осторожны: это изменит историю коммитов. Пользуйтесь этой командой пореже.

Эта команда смещает HEAD на последний коммит. По умолчанию используется опция –mixed. Все изменения после указанного коммита останутся в рабочем каталоге как неотслеживаемые.

git reset HEAD~1

Опция –soft позволяет сохранить незакоммиченные изменения (если они были) как staged.

git reset --soft HEAD~1

Если вы хотите сбросить все до последнего коммита, а также удалить все неподготовленные изменения, можно использовать опцию –hard.

git reset --hard HEAD~1

Таким образом вы вернетесь в положение до последнего коммита, но вместе с тем сотрете все изменения, не попавшие в коммит.

Что лучше использовать: reset или revert?

Используйте reset исключительно для сброса коммитов, существующих лишь локально. Эта команда меняет историю коммитов. А это может негативно сказаться на работе удаленных членов команды, которые могли основывать что-то на коммите, который вы сотрете.

Команда revert создает новый коммит, отменяющий изменения, и не перезаписывает историю коммитов. Так что, если коммит, который вы хотите вернуть, уже был запушен в общий репозиторий, лучше использовать revert.

Заключение

Мы разобрали два способа отменить последний коммит, а также разобрали, когда какой лучше использовать.

Теперь вы знаете, что делать, если вы вдруг заметите баг в вашем последнем коммите, или окажется, что изменения вовсе не должны были попасть в коммит!

Перевод статьи «Git Revert Commit – How to Undo the Last Commit».

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

1 комментарий к “Как отменить последний коммит”

  1. а как вернуть коммит, который был revert? нужно, чтобы коммиты после не затерлись

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://beverlywoodbakery.com/ deneme bonusugrandpashabetgrandpashabetGrandpashabetGrandpashabetGrandpashabetDeneme Bonusu veren sitelerküçükçekmece escorthttps://www.bakirkoyfal.com/kagithane escortballettea tropazhacklinkatakoy escortatakoy escortAtaşehir Escorthttps://halkaliescortmanken.xyz/Grandpashabetjojobetkusadasi Escortgrow a garden scriptdumanbetdeneme bonusu veren sitelermarsbahiszbahiskadıköy escortümraniye escorthttps://canlicasino.shorthandstories.com/https://canlicasino.shorthandstories.com/istanbul escortbasaksehir escortşişli escortonwinjojobetultrabetbetciohttps://www.escortbayanlariz.net/portobetHoliganbet Girişcasibom güncel girişBeylikdüzü escorttürk ifşaholiganbet girişimajbetmavibetextrabetmarsbahisgrandpashabetfixbetcasibombets10Grandpashabetonlyfans leakscratosroyalbetgrandpashabetmadridbet girişmadridbetromabetromabetromabetkartal escortanadoluslottürk pornoholiganbetbahiscomtümbetcasibom girişolabahiscasibomtipobetbetzulakulisbetganobetGrandpashabetgrandpashabetdeneme bonusu veren kumar sitelericasibomjojobetafyon escortBetwoonholiganbetjojobetonwin girişdeneme bonusudeneme bonusustarzbet girişbetexperbetciovaycasinojojobetdeneme bonusujokerbetcasibomGrandpashabetcasibomcasibomasdadsjdasjdasdasmecidiyeköy escorthttps://www.newstrendline.com/deneme bonusudeneme bonusucasibomdeneme bonusu veren sitelercasinopopcasinoroyalgrandpashabetcratosroyalbetdeneme bonusu veren casino sitelericasibom girişcasibom토토사이트batumi escortcasibomonwincasibom girişhttps://sonbahisegiris.com/sonbahis-guncel-bilgiler/holiganbetholiganbetcasibompusulabetmatbetjojobetmadridbetjojobetextrabetgrandpashabetbahiscomdinamobetbetciomegabahiszbahisotobetbetturkeyjojobet giriş adresi​ONWINjojobet
Прокрутить вверх