Aller au contenu principal
U/
Versionnement
git

Amender le message du dernier commit

Utiliser git commit --amend pour corriger le message du dernier commit. Si ce commit a déjà été poussé, le forcer avec --force-with-lease en comprenant les implications sur l'historique partagé.

10 minPublié le 20 mai 2026Proposé par Anonyme

Défi

// Lisez attentivement, codez sur votre machine

Énoncé

Modifier le message du dernier commit d'un dépôt git local, sans créer de nouveau commit. Si le commit n'a pas encore été poussé sur la branche distante, l'opération est sûre et locale. S'il a déjà été poussé, il faut réécrire l'historique distant avec précaution.

Contraintes

  • Utiliser git commit --amend -m "nouveau message" pour modifier le message sans ouvrir l'éditeur.
  • Ne pas modifier les fichiers indexés (l'index doit être vide au moment de l'amend).
  • Pour pousser un amend déjà publié, utiliser git push --force-with-lease (jamais --force seul sur une branche partagée).
  • Avertissement obligatoire : amender un commit déjà tiré par d'autres membres de l'équipe crée une divergence d'historique.
  • Commandes valides avec git 2.x+.

Exemple

Situation de départ :

$ git log --oneline -1
a3f8c12 fixe le bug de connexion

Correction du message :

$ git commit --amend -m "fix(auth): corriger la redirection après connexion"
[main a4d9e23] fix(auth): corriger la redirection après connexion
 Date: Wed May 20 12:00:00 2026 +0200
 1 file changed, 3 insertions(+), 1 deletion(-)

Si le commit était déjà poussé :

$ git push --force-with-lease origin main

--force-with-lease refuse la réécriture si quelqu'un a poussé entre-temps, ce qui évite d'écraser des commits non récupérés.

Espace solution

Proposer une solution

Connectez-vous ou créez un compte pour envoyer votre code (aucune exécution côté serveur — on stocke juste le texte pour la communauté).

// À garder en tête
  • D'abord, faire marcher

    On ne cherche pas à optimiser : d'abord, on fait marcher le truc. Optimiser vient ensuite — et ça aussi, ça s'apprend. (Si un défi porte sur l'optimisation, son énoncé le précise.)

  • Pas de mauvaise réponse

    Il n'y a pas de mauvaise réponse à un défi. Le but, c'est de le faire. Ce qui compte, c'est de s'entraîner.

  • Trop dur ? Au suivant

    Un défi te résiste ? N'hésite pas à en prendre un autre. Ils seront encore là demain.