388 votes

Lancer un message de validation de git avec un hashmark (#)

Git traite les lignes commençant par # comme les lignes de commentaire lors de la validation. cela est très gênant lorsque l'on travaille avec un système de suivi des billets, et d'essayer d'écrire le numéro de la contravention au début de la ligne, par exemple

#123 salt hashed passwords

git va tout simplement supprimer la ligne dans le message de commit. est-il possible d'échapper à la table de hachage? j'ai essayé d' \ et !,, mais rien ne fonctionne. les espacements avant d' # sont conservés, de sorte qu'ils ne sont pas une solution au problème.

310voto

Charles Bailey Points 244082

Ce comportement fait partie de de par défaut le comportement de « nettoyage ». Si vous souhaitez conserver les lignes commençant par vous pouvez utiliser un autre mode de nettoyage.

Par exemple

Si vous faites cela il faut être prudent de supprimer tous les `` les lignes que vous ne souhaitez pas apparaître dans la validation.

171voto

VonC Points 414372

Notez que, depuis git1.8.2 (février 2013), vous pouvez utiliser un caractère différent de celles de '#"pour la ligne de commentaire dans le message de commit.

Qui vous permet d'utiliser '#"pour votre numéro de bogue de référence.

Divers "hint" lignes Git donne quand il demande à l'utilisateur de modifier les messages dans l'éditeur sont commentées par '#' par défaut.

L' core.commentchar variable de configuration peut être utilisé pour personnaliser cette '#"pour un caractère différent.


En théorie, on pourrait mettre un core.commentchar mot (plusieurs personnages), mais git 2.0.x/2.1 seront plus strictes (T3 2014).

Voir commettre 50b54fd par Nguyễn Thái Ngọc Duy (pclouds):

config: être rigoureux sur la base.commentChar

Nous ne supportons pas de commentaire chaînes (du moins pas encore). Et de caractères multi-octets codage pourrait aussi être mal interprété.

Le test avec deux virgules est mis à jour car il viole cette. Il est ajouté avec le patch qui présente core.commentChar dans eff80a9 (Permettre la mesure "commentaire char" - 2013-01-16). Il n'est pas clair pour moi pourquoi ce comportement est voulu.


git 2.0.x/2.1 (T3 2014) permettra d'ajouter une sélection automatique pour core.commentchar:
Voir commettre 84c9dc2

Lors de l' core.commentChar est "auto", le commentaire char commence par '#"comme en défaut, mais si il est déjà dans la préparation du message, trouver un autre char dans un petit sous-ensemble. Cela doit cesser de surprises parce que git bandes de quelques lignes de façon inattendue.

Notez que git n'est pas assez intelligent pour reconnaître '#"comme le commentaire char dans des modèles personnalisés et les convertir si le commentaire final char est différent.
Il pense '#' lignes dans des modèles personnalisés dans le cadre de la validation du message. Afin de ne pas l'utiliser avec les modèles personnalisés.

Th liste des candidats à la personnages de "auto" sont:

# ; @ ! $ % ^ & | :

Que signifie une commande comme celle - git commit -m '#1 fixed issue' passera automatiquement le commentchar ';', parce que '#"a été utilisé dans le message de commit.

64voto

Olivier Verdier Points 12332

Vous pouvez utiliser l’option de ligne de commande `` :

1voto

wilhelmtell Points 25504

Utiliser un préfixe différent pour le numéro du billet. Ou faire précéder le numéro du billet, un mot comme « Bug #42 ». Ou ajoutez un espace unique à la ligne ; Si vous souhaitez supprimer que vous pouvez ajouter un crochet commit pour que l’espace blanc.

J’ai personnellement préfère pas avoir ce genre de manipulation de message de validation effectué par un crochet, car il peut être très irritant lorsqu’il se déclenche lorsque vous ne voulez pas qu’elle. La solution la plus simple est probablement de repenser le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X