Pour modifier un commit sur sa branche qui est déjà plusieurs commits derrière HEAD
1) modifier les fichiers..
2) git add les fichiers
3) git commit --fixup $hash_de_l_ancien_commit
A partir de la un nouveau commit avec le commentaire fixup! est créé
Ensuite on peut lancer le rebase interactif avec l'option autosquash qui va ordonner tout ça proprement :
git rebase -i ancien_commit --autosquash
il y a aussi l'option --squash pour git commit qui va squash dans le rebase interactif au lieu de fixup
via Martin