Menu
Coddy logo textTech

Git : annuler le dernier commit

Dernière mise à jour

Pour annuler le commit le plus récent, décidez de ce qu'il doit advenir de ses changements. Gardez-les indexés avec git reset --soft HEAD~1, gardez-les non indexés avec un simple git reset HEAD~1, ou supprimez-les avec git reset --hard HEAD~1. Si le commit n'est que légèrement erroné, git commit --amend le corrige sur place. S'il est déjà poussé, utilisez git revert au lieu de réécrire l'historique. Pour annuler un commit plus ancien ou plusieurs commits à la fois, consultez la page git annuler un commit.

Essayez-les dans le terminal playground : un vrai shell dans votre navigateur, rien à installer.

Annuler le dernier commit recule HEAD d'un cran - le mode décide si les modifications restent indexées, désindexées ou sont jetées.

Choisissez quoi faire des changements

GoalCommand
Annuler le commit, garder les changements indexésgit reset --soft HEAD~1
Annuler le commit, garder les changements non indexésgit reset HEAD~1
Annuler le commit, supprimer les changementsgit reset --hard HEAD~1
Corriger le dernier commit (message ou fichiers)git commit --amend
Annuler un commit déjà pousségit revert HEAD

Exemple concret

Annulez le dernier commit et refaites-le avec un meilleur message.

StepCommandResult
1git reset --soft HEAD~1Commit supprimé, les changements restent indexés
2git commit -m "clearer message"Recommit des mêmes changements

FAQ : annuler le dernier commit dans Git

Comment annuler le dernier commit tout en conservant les changements ?
Exécutez git reset --soft HEAD~1. Cela supprime le dernier commit mais laisse ses changements indexés, ce qui vous permet de les recommiter aussitôt. Pour que les changements soient non indexés dans votre arbre de travail, utilisez git reset HEAD~1 (le mode par défaut).
Comment annuler le dernier commit et supprimer les changements ?
Exécutez git reset --hard HEAD~1. Cela supprime le commit et écarte ses changements de votre arbre de travail. C'est destructeur : si vous pourriez avoir besoin du travail, utilisez plutôt --soft, ou récupérez-le ensuite via git reflog.
Et si je dois seulement corriger le message du commit ?
Utilisez git commit --amend. Il rouvre le dernier commit pour que vous puissiez modifier son message (et réindexer des fichiers si besoin) sans créer un commit séparé. Évitez d'amender un commit déjà poussé, car cela réécrit l'historique.
Comment annuler le dernier commit après l'avoir poussé ?
Utilisez git revert HEAD. Revert crée un nouveau commit qui inverse le précédent, en laissant l'historique intact : le choix sûr pour les branches partagées. Réinitialiser un commit poussé force tout le monde à réconcilier une branche réécrite.
Puis-je m'entraîner en ligne ?
Oui. Ouvrez le terminal playground pour exécuter ces commandes dans un vrai shell dans votre navigateur, rien à installer. Le cours interactif et gratuit de Git de Coddy couvre aussi l'annulation des changements pas à pas.
Coddy programming languages illustration

Apprenez Git avec Coddy

COMMENCER