Отмена последнего коммита в git
Допустим, вы сделали commit в git, но поняли, что он недостаточно хорош. В таком случае можно продолжить правки, а при следующем коммите набрать
git commit -a --amend
Ключ --amend
(улучшить, в переводе с английского) позволяет добавить к последнему коммиту новые изменения.
Если вы сделали commit в git, но поняли, что он достаточно плох, то можно сделать и так:
git reset --soft HEAD^
Эта команда отменит последний коммит (но не изменения, которые вы внесли, они сохранятся).
Если последний коммит отвратителен, то можно вообще его удалить (но не стоит забывать, что эта команда не просто удалит последний коммит, но и ВСЕ правки, которые не были закоммиченны):
git reset --hard HEAD^
Все это работает, если вы не опубликовали свои изменения. В случае, если вы их опубликовали, то не остается ничего другого, как сделать коммит, который отменяет какой-то коммит:
git revert commit-sha1
Ну, а потом опубликовать поскорее его командой git push
.
Кстати, моя компания сделала отличный однодневный мастер-класс по git, обязательно приходите, расскажем вам обо всех тонкостях работы с гитом и не только.
Хорошие материалы по git можно посмотреть здесь:
- Git Community Book –— на английском;
- Описание внутреннего устройства git от ЖЖ-юзера los-t.