Отмена последнего или другого коммита

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


Вот вы сделали нежелательный последний коммит:

git commit -m "wrong code"

Теперь делаем сброс:

git reset --hard HEAD~1

~1 означает последний коммит, т.е. ~2 будет означать предпоследний коммит; если же нам нужно удалить более поздний коммит, то вместо HEAD~1 пишем hash коммита, который можем узнать, например командой:

git hist --all

Или

git reflog

Ну после этого, собственно, вносим новые, правильные изменения, добавляем в индекс git add ., коммитим и пушим, если надо.

Еще бывает, что мы что то напутали с комментарием к последнему коммиту. Например:

git commit -m "wrong comment"

Да еще + файл один забыли подредактировать. Просто делаем изменения в файле, сразу git add ., а затем:

git commit --amend [-m "fixed comment"]

В квадратных скобках необязательный идентификатор с комментарием, если с ним все и так было в порядке



Похожие заметки:

Удаляем файл из индекса git

Полезная команда при работе с системой контроля версии git, позволяющая безопасно исключить файл из индекса

Открыть здесь


Перед тем как писать комментарии, рекомендую ознакомиться:

Markdown синтаксис »

Оформление кода »

Нужна аватарка »

Комментарии


2
avatar

Игорь сказал 11-07-2017 в 09:55


А как до комита сделать отмену? вернуть файл в начало


avatar

Админ

Роман Жариков сказал 11-07-2017 в 10:05

   В ответ на комментарии автора Игорь
git checkout <file>

или если нужно отменить во всех, то

git checkout .