Menu
Coddy logo textTech

Git Commit --amend

Dernière mise à jour

git commit --amend remplace le commit le plus récent par un nouveau, ce qui vous permet de corriger son message ou d'ajouter des fichiers que vous avez oublié d'indexer. Il n'ajoute pas un second commit ; il réécrit le dernier. Comme cela change le hash du commit, n'amendez que les commits que vous n'avez pas encore poussés.

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

git commit --amend remplace le dernier commit par une version réécrite au lieu d'en ajouter un second.

Syntaxe

CommandWhat it does
git commit --amendModifie le dernier commit et son message
git commit --amend -m "new message"Change le message du dernier commit en ligne
git commit --amend --no-editAjoute les fichiers indexés en gardant le même message

Cas courants

GoalCommand
Corriger une faute de frappe dans le dernier messagegit commit --amend -m "fixed message"
Ajouter un fichier oublié au dernier commitgit add file puis git commit --amend --no-edit
Amender un commit déjà poussé (prudence)amendez, puis git push --force-with-lease

FAQ git commit --amend

Comment changer le message de mon dernier commit ?
Exécutez git commit --amend -m "new message" pour le remplacer en ligne, ou git commit --amend pour ouvrir votre éditeur et le réécrire. Cela réécrit le dernier commit avec le nouveau message ; ne le faites pas sur un commit que vous avez déjà poussé, sauf si vous êtes prêt à forcer le push.
Comment ajouter un fichier oublié au dernier commit ?
Indexez le fichier avec git add <file>, puis exécutez git commit --amend --no-edit. L'option --no-edit conserve le message de commit existant et intègre simplement les modifications fraîchement indexées au commit précédent.
git commit --amend crée-t-il un nouveau commit ?
Non : il remplace le dernier commit au lieu d'en ajouter un. Le résultat ressemble à un seul commit, mais c'est techniquement un nouveau commit avec un nouveau hash qui prend la place de l'ancien. C'est pourquoi amender un historique partagé nécessite un force push.
Est-il sûr d'amender un commit déjà poussé ?
Seulement avec précaution. Amender réécrit le commit, donc après l'avoir poussé vous auriez besoin de git push --force-with-lease, ce qui peut perturber quiconque a déjà récupéré l'original. Sur une branche partagée, préférez un nouveau commit ou git revert plutôt que d'amender.
Puis-je m'entraîner en ligne ?
Oui. Ouvrez le terminal playground pour exécuter git commit --amend dans un vrai shell dans votre navigateur, rien à installer. Le cours interactif et gratuit de Git de Coddy couvre aussi la correction des commits étape par étape.
Coddy programming languages illustration

Apprenez Git avec Coddy

COMMENCER