Comment inclure des caractères de nouvelle ligne dans les messages de tag git

Quand je code un code versionné dans git, j'aime utiliser des puces dans le message.

Cela peut facilement être fait avec des balises annotées:

git tag -a v1.0.0

* Change number 1
* Change number 2
#
# Write a tag message
#

Cependant, si je tente la même balise avec l'option -m, le message de balise n'est pas ce que j'attends:

git tag -a v1.0.0 -m "* Change number 1\n* Change number 2"

git show v1.0.0

...

* Change number 1\n* Change number 2
....

Le '\ n' a été interprété littéralement comme les caractères '\' et 'n' au lieu d'un saut de ligne. Je veux utiliser l'option -m pour pouvoir automatiser le processus de marquage.

Est-il possible d'inclure des caractères de nouvelle ligne en utilisant git tag avec l'option -m ?

6

3 Réponses

La solution la plus proche que j'ai trouvée est d'utiliser plusieurs options -m , une pour chaque ligne. Par exemple:

git tag -a v1.0.0 -m "* Change number 1" -m "* Change number 2"

de page de manuel de git-tag :

-m 
   Use the given tag message (instead of prompting). If multiple
   -m options are given, their values are concatenated as separate
   paragraphs. (...)

UPDATE: Check "Add line break to git commit -m from command line" for more shell-based solutions.

9
ajouté
Ma commande: git tag -a v1.1.0 -m "+ syntaxe de surbrillance ajoutée pour les expressions régulières dans les consoles find et replace," -m "+ ajout d'instructions sur la personnalisation de certains paramètres graphiques pour les utilisateurs de Windows 10." . Résultat . Ce que je fais mal? Merci.
ajouté l'auteur Саша Черных, source
Aide pour moi: balise -a st3-1.1.0 -m "Version 1.1.0" -m "+ syntaxe de surbrillance ajoutée pour les expressions régulières dans les consoles de recherche et de remplacement," -m "+ instructions supplémentaires sur la personnalisation graphique paramètres pour les utilisateurs de Windows 10. ". Résultat . Merci.
ajouté l'auteur Саша Черных, source
Bonne réponse. Oh, les trésors cachés que l'on peut trouver dans les pages de manuel. Merci, Aziz!
ajouté l'auteur Eric Peterson, source
Cela mettra des sauts de ligne supplémentaires entre les messages, ce qui peut ne pas être souhaitable.
ajouté l'auteur Max Nanasy, source

Another alternative would be to put the formatted message in a (temporary) file and use git tag -F to read the message from that file.

4
ajouté

En supposant que vous utilisez un shell Unix, votre syntaxe pour newline est incorrecte.

git tag -a v1.0.0 -m "* Change number 1
* Change number 2"

devrait marcher.

0
ajouté