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

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

Ситуация 1: Коммит плох, но не безнадежен

Ваши изменения еще не отправлены на сервер, но локально вы уже выполнили команду commit. Нужно как то отменить операцию и продолжить редактирование, чтобы потом все таки закоммитить.

Коммит будет отменен в локальной ветке, а файлы данного коммита окажутся в статусе «ожидают коммита» (to be commited).

Можете вносить правки.

Ситуация 2: Коммит безнадежен

Рассмотрим следующую ситуацию, когда последний коммит совсем никуда не годится, и лучше бы его вообще не было. Изменения были выполнены локально.

Следующая команда отменит операцию commit, а файлы вернет в состояние к моменту до того как файлы были изменены.

Ситуация 3: Безнадежный коммит уже на сервере (в origin)

Если всё зашло совсем далеко, и коммит уже оказался на сервере, то при попытке откатится локально и выполнить команду push вы получите следующий ответ:

Смысл ответа в том, что локальная ветка старее, чем на сервере (вы ведь отменили коммит) и потому, наверное, вы делаете что то не так с точки зрения GIT.

Придется немного приложить силы (force), и заставить сервер принять ваши изменения:

Полностью алгоритм выглядит так (покажу на примере ветки develop):

Написать комментарий

Мало букафф? Читайте есчо !

Как сравнить два произвольных файла не включенных в репозиторий средствами git diff

Июль 1, 2022 г.

Утилита Git diff может сравнивать не только изменения между ветками, но и вообще произвольные объекты файловой системы, которые даже не включены в репозиторий. ...

Читать

Получить в git список измененных файлов

Июль 26, 2017 г.

Небольшая шпаргалка по git. Файлы измененные с момента последнего коммита, т.е. текущие изменения, можно вывести командой [crayon-67fe592c4822c744207234/] Вы увидите два списка изменений - файлы, которые добавлены в commit и список unstaged changes ...

Читать

 

Комментарии к «Как отменить последний коммит в GIT»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: