Mémo Git · Modifications
Modifier le dernier commit
git commit --amend
git commit --amend remplace le dernier commit par un nouveau, qui reprend le contenu de l'index. Tu peux ainsi corriger son message ou y ajouter un fichier oublié, sans créer un second commit.
Ce que ça fait
Remplace le dernier commit par un nouveau : message corrigé, fichiers ajoutés ou retirés.
Un cas d'usage
Tu viens de commiter et tu remarques une faute dans le message, ou un fichier oublié.
Attention : Réécrit l'historique : si le commit est déjà poussé, il faudra un push forcé.
En ligne de commande
git commit --amend -m "Nouveau message"- Corrige seulement le message.
git add <oublié> && git commit --amend --no-edit- Ajoute un fichier oublié en gardant le message.
git commit --amend --reset-author --no-edit- Met à jour l'auteur et la date du commit.
git push --force-with-lease- Republie le commit modifié s'il avait déjà été poussé.
Dans Merathon
- Indexe les éventuels fichiers oubliés.
- Coche « Modifier le dernier commit (amend) » : le message précédent est repris.
- Corrige le message puis valide.
Questions fréquentes
Comment modifier un commit plus ancien que le dernier ?
Avec un rebase interactif : git rebase -i <commit>^, puis l'action « edit » ou « reword » sur ce commit.
Comment annuler un git commit --amend ?
git reset --soft HEAD@{1} revient au commit d'avant l'amend : le reflog garde sa trace.