Отмена закоммиченных изменений

Вернуть конкретный файл в состояние конкретного коммита можно так:

git checkout <commit> <file>

Этот файл “откоммитится” и останется в индексе. Этот файл теперь можно закоммитить либо вернуть из индекса и удалить изменения теми же:

git restore --staged <file>
git restore <file>

Отмена конкретного коммита:

git revert <commit>

Эта процедура тоже по сути является коммитом, message которого будет что-то типа Revert "some commit message" . А чтобы не делать коммит каждый раз (если, к примеру, будем revert-ить несколько коммитов) при revert-е -нужно:

git revert --no-commit <commit>

И дальше можно сделать один общий коммит о сделанных revert-ах.


git