121 votes

Comment coloriser la sortie de git-status ?

Je veux colorer la sortie de git-status pour que :

untracked files = magenta
new files = green
modified files = blue
deleted files = red

Au lieu de cela, je vois les fichiers mis à disposition en vert et les fichiers non mis à disposition en bleu : screenshot of git-status

Mon .gitconfig est configuré avec les éléments suivants, après quelques recherches :

[color]
status = auto

[color "status"]
added = green
changed = blue
untracked = magenta
deleted = red

2 votes

Note : git 2.9.1 supporte les attributs italic et strike. Voir mon édition ci-dessous.

170voto

VonC Points 414372

De git config doc :

color.status.<slot>

Utilisez une couleur personnalisée pour la colorisation du statut. <slot> est l'un d'entre eux :

  • header (le texte d'en-tête du message d'état),
  • added o updated (fichiers ajoutés mais non validés),
  • changed (fichiers qui sont modifiés mais pas ajoutés dans l'index),
  • untracked (fichiers qui ne sont pas suivis par git),
  • branch (la branche actuelle),
  • nobranch (la couleur dans laquelle l'avertissement no branch est affiché, par défaut en rouge),
  • localBranch o remoteBranch (les noms de la branche locale et de la branche distante, respectivement, lorsque les informations sur la branche et le suivi sont affichées dans le format court de l'état),
  • unmerged (fichiers qui ont des changements non immergés).

Les valeurs de ces variables peuvent être spécifiées comme dans l'exemple suivant color.branch.<slot> .

Donc ça va marcher :

git config color.status.changed blue
git config color.status.untracked magenta

Cependant :

new files = green
deleted files = red

Ce n'est pas possible : vous devez choisir une seule couleur :

  • s'ils sont ajoutés à l'indice, ils utiliseront la couleur pour color.status.added .
  • s'ils ne sont pas ajoutés à l'index, ils utiliseront la couleur pour color.status.changed .

Nota:

Les couleurs peuvent également être données sous forme de nombres compris entre 0 et 255 ; elles utilisent le mode ANSI 256 couleurs (mais tous les terminaux ne le supportent pas forcément).
Voir " xterm 256 couleurs " pour ces chiffres, comme indiqué dans les commentaires par Joshua Goldberg .


Bien sûr, comme a commenté par elboletaire :

N'oubliez pas d'activer la sortie de coloration si elle n'a pas été activée précédemment :

git config --global color.ui true

Shaun Luttin ajoute :

La commande peut également prendre plusieurs paramètres entre guillemets. Cela inclut deux couleurs (avant-plan arrière-plan) de cette liste :

normal, noir, rouge, vert, jaune, bleu, magenta, cyan et blanc ;

et il inclut également un attribut (style) de cette liste :

bold, dim, ul, blink et reverse.

Donc ça va marcher :

git config color.status.changed "blue normal bold"
git config color.status.header "white normal dim"

Note : avec git 2.9.1 (juillet 2016), le schéma de coloration de sortie a appris. deux nouveaux attributs, italique y grève en plus des caractères gras, inversés, etc. existants.

Ver commettre 9dc3515 , commettre 54590a0 , commit 5621068 , commettre df8e472 , commettre ae989a6 , commettre adb3356 , commettre 0111681 (23 juin 2016) par Jeff King ( peff ) .
(fusionné par Junio C Hamano -- gitster -- en commettre 3c5de5c , 11 juillet 2016)

Il permet également de " no- "pour les attributs de négation

Utilisation " no-bold " plutôt que " nobold "est plus facile à lire et plus naturel à taper (pour moi, en tout cas, même si je suis la personne qui a introduit " nobold " en premier lieu). Il est facile d'autoriser les deux.

38 votes

N'oubliez pas d'activer la sortie de coloration si elle n'a pas été activée précédemment : git config --global color.ui true

1 votes

@elboletaire bon point. Je l'ai inclus dans la réponse pour plus de visibilité.

1 votes

Merci, color.ui est la réponse.

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