objectif
Corriger rapidement le dernier commit pour ajouter des fichiers oubliés ou changer le message, sans créer de nouveau commit.
code minimal
# changer uniquement le message
git commit --amend -m "nouveau message"
# ajouter des fichiers oubliés et garder le message
git add -A && git commit --amend --no-edit
utilisation
# vous avez oublié un fichier dans le dernier commit
git add chemin/fichier_oublie
git commit --amend --no-edit
# vous avez fait une coquille dans le message
git commit --amend -m "corrige la typo du message"
# si le commit a déjà été poussé, mettez à jour la branche à distance (dangereux)
git push --force-with-lease
variante(s) utile(s)
# signer le commit amendé (si GPG ou SSH signing est configuré)
git commit --amend -S --no-edit
# remettre à jour l'auteur et la date
GIT_COMMITTER_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
git commit --amend --reset-author --no-edit
# ouvrir l'éditeur pour modifier le message
git commit --amend
notes
--no-editconserve le message existant.- amender réécrit l’historique: évitez sur des commits déjà partagés.
- utilisez
--force-with-leaseplutôt que--forcepour protéger le travail des autres. - pour corriger un commit plus ancien, préférez un rebase interactif:
git rebase -i HEAD~N.