Отмена коммитов
Указатель
HEAD
- указатель на последний коммит текущей ветки.
Таким образомHEAD^
- это предпоследний коммит.
Чтобы отменить последний коммит, нужно reset-нуть состояние предпоследнего:
Последний коммит отменится, а изменения отправятся в индекс - может, понадобится их restore-нуть:
Чтобы изменения не попали в индекс при отмене коммита - нужно:
Жесткий reset:
Жесткий режим удаляет коммит безвозвратно, поэтому и нужны —soft и —mixed, чтобы при надобности вернуть коммит “на свое место”. Жесткий есть смысл применять, если знаешь, что делаешь.
Исправление commit-ов
Если сделали коммит:
И написали message с ошибкой - можно исправить его так:
Если забыли добавить какой-то файл в коммит - нужно: