Если вы хотите обновить самый последний коммит , то внесение изменений в этот коммит сделает эту работу:
<do the changes you want to>
git add <missing files>
git add <changed files>
git commit --amend
Вот и все.
Если вам нужно изменить комментарий и добавить некоторые другие файлы к предыдущему коммиту , я предлагаю вместо этого сделать интерактивное восстановление .
<do the changes you want to>
git add <missing files>
git commit -a
git rebase -i HEAD~3
В появившемся редакторе вы увидите что-то вроде
pick <SHA1> Commit that you wanted to change
pick <SHA2> Next commit that you seem to try to rollback in your question
pick <SHA3> Just committed fixes to SHA1
Измените его на
pick <SHA1> Commit that you wanted to change
f <SHA3> Just committed fixes to SHA1
pick <SHA2> Next commit that you seem to try to rollback in your question
(«f» означает «исправление» - сквош SHA1 и SHA3 и сообщение об отмене фиксации SHA3)
Сохранить изменения, выйти из редактора. Вы сделали.
Этого никогда не следует делать для коммитов, которые вы уже выдвинули вверх по течению.