Если никуда не пушил, то пиши изменения в отдельный коммит, а потом делай git rebase -i <коммит, который надо исправить>. Появится список коммитов в редакторе, ты можешь тасовать его как хочешь, в т.ч. взять коммит исправление, поставить его после того коммита, который хочешь исправить и поменять директиву с pick на fixup. Тогда правки из нового коммита сольются с предыдущим.
Правда, если я не ошибаюсь, это изменить хэши всех последующих коммитов, а также может привести к конфликтам в ходе ребейза, но из легко разрешить при помощи git mergetool.
Еще есть альтернативный способ. Как я понимаю, по сути то же, но более автоматизированное:
http://fle.github.io/git-tip-keep-yo...utosquash.html