Comment ignorer l’étape du message de validation dans «git commit –amend»?

J’exécute une boucle de test de compilation de code très rapide dans laquelle je modifie les modifications de mes commits beaucoup plus souvent qu’autrement.

Par exemple:

# Make some changes $ git commit -m "Added feature X" # Comstack, test # Fix bugs $ git commit -a --amend 

Je veux généralement le même message de validation après avoir corrigé mes erreurs. Y a-t-il un moyen de faire sauter git mon EDITOR et d’utiliser simplement le message de validation original?

Vous pouvez simplement append --no-edit pour utiliser le dernier message. Cette option existe depuis 2005 mais n’a été activée que récemment pour l’option --amend .

L’autre façon est d’append -C HEAD à la commande de validation avec l’option amender. Cela vous permet de ne pas simplement utiliser le message de la validation en cours, mais vous pouvez spécifier toute autre référence de votre choix.

Ceci est particulièrement utile lors de la construction d’un commit depuis différents endroits de l’histoire et en utilisant l’un des messages de ces commits. Par exemple:

 git checkout feature1^^ -- database/table1.sql git checkout feature1^^^^ -- logger.py git add -A && git commit -C feature1 

qui utiliserait simplement 2 commits d’un feature1 et utiliserait le message de validation du dernier commit vers feature1 – si c’était une bonne description.

Vous pouvez aussi utiliser

 --reuse-message= Take an existing commit object, and reuse the log message and the authorship information (including the timestamp) when creating the commit. 

Ce qui vous permet d’utiliser des messages de validation précédents. Cela peut également faire partie d’un script ou d’un alias git.

 git commit --amend --reuse-message HEAD 

réutilisera le message du dernier commit