Git est un système de contrôle de version distribué qui permet de suivre les modifications apportées au code source pendant le développement du logiciel. Parmi les nombreuses commandes qu'offre Git, il y a git commit --amend
.
La commande git commit --amend
modifie le commit le plus récent. C'est la réponse correcte à la question posée. Cette commande est utile lorsque vous devez modifier le dernier commit pour une raison quelconque. Cela peut être parce que vous avez oublié d'inclure certains fichiers dans le commit, ou que vous avez fait une faute de frappe dans le message du commit.
Supposons que vous ayez commis un fichier mais oublié d'inclure un autre fichier qui fait partie de la même fonctionnalité. Au lieu de créer un nouveau commit pour ce fichier, vous pouvez simplement l'ajouter au commit existant avec git commit --amend
. Voici comment vous pouvez le faire :
git add forgotten-file.txt
git commit --amend
Lorsque vous exécutez la commande git commit --amend
, git ouvrira votre éditeur de texte configuré pour vous permettre de modifier le message du commit. Le message initial sera celui du commit que vous modifiez. Vous pouvez simplement sauvegarder et quitter pour conserver le même message.
# Veuillez saisir le message de validation pour vos modifications. Les lignes
# commençant par '#' seront ignorées, et un message vide annule la validation.
#
# Sur la branche master
# Votre branche est à jour avec 'origin/master'.
#
# Modifications qui seront validées :
# fichier modifié : forgotten-file.txt
#
Notez cependant que l'utilisation de git commit --amend
réécrit l'historique git. Si vous avez déjà poussé votre commit et que quelqu'un d'autre a tiré les modifications, amender le commit causera des problèmes. Ils auront des modifications que git tente de combiner lorsque vous poussez votre amended commit, ce qui peut tricher l'historique. Dans ces situations, il pourrait être préférable de faire un nouveau commit pour clarifier la situation.
L'amendement de commit est un outil puissant lorsque vous travaillez seul ou en équipe sur une branche locale, mais il peut causer des problèmes si vous ne faites pas attention à l'endroit où vous l'utilisez.