web-dev-qa-db-fra.com

Comment puis-je diviser les messages git commit en plusieurs lignes?

Lorsque j'utilise git log pour consulter ma note explicative de validation comme

1. what I changed
2. blank line
3. why I changed it

en 3 lignes pas comme 1. what i changed 2. blank line 3. why i changed juste en 1 ligne.

27
fernando

Vous utilisez simplement la commande suivante:

$ git commit -m "1. what i changed
> 2. blank line
> 3. why i changed"

Dans votre terminal, appuyez simplement sur "Entrée" pour une nouvelle ligne. Le message de validation ne prendra fin que lorsque vous aurez ajouté le devis de clôture. Le journal git ressemblera à:

$ git log
commit abcde2f660c707br2d20411581c4183170c3p0c2
Author: Alex Pan <[email protected]>
Date:   Tue Apr 28 20:52:44 2015 -0700

    1. what i changed
    2. blank line
    3. why i changed
59
Alex Pan

Extrait de documentation

-m <msg>

--message=<msg>

Utilisez la donnée comme message de validation. Si plusieurs options -m sont fournies, leurs valeurs sont concaténées sous forme de paragraphes séparés.

Dans votre cas, il fait exactement ce que vous voulez, insère une ligne vierge entre la première et la deuxième ligne

git commit -m "what I changed" -m "why I changed it"

Ceci est utile si vous souhaitez modifier un commentaire ajouté précédemment

22
olegtaranenko

Je trouve qu'il est beaucoup plus facile d'enregistrer le message de validation dans un fichier, puis d'utiliser l'option -F.

Exemple:

$ cat > /tmp/commit_msg.txt
DE123 bug fix: incorrect fetching of instance details
- fixed this and that
- also did such and such
$ git commit -F /tmp/commit_msg.txt

Vous pouvez également utiliser un éditeur pour modifier le fichier de messages avant la validation.

9
yaronyogev

Le format à plusieurs lignes que vous décrivez est celui recommandé avec Git (voir DISCUSSION dans la documentation de git commit ). La façon la plus simple de le faire est d'utiliser git commit sans pour autant -m, et rédigez votre message dans votre éditeur de texte.

7
Matthieu Moy

Plutôt que d'utiliser un fichier temporaire lorsque vous essayez de le faire par programme, vous pouvez utiliser stdin

git commit -F-

puis écrivez le message à stdin

3
Tony Brix