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