Бывает, что закоммитил, пушнул, а потом понял, что этот коммит нужно подредактировать, и очень-очень хочется, чтобы в удаленном репозитории он также изменился (а не шел как новый коммит).
Для этого нужно:
git reset —soft HEAD~1 – «откатываемся» на один коммит назад
git commit -a -m «commit text» – делаем нужные правки и коммитимся
git push -f origin master – отправляем в удаленный репозиторий