web-dev-qa-db-fra.com

Comment coloriser la sortie git-status?

Je veux coloriser la sortie git-status pour que:

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

Je vois plutôt des fichiers intermédiaires en vert et des fichiers non intermédiaires en bleu: screenshot of git-status

Mon .gitconfig est configuré avec les éléments suivants sur la base de certaines recherches:

[color]
status = auto

[color "status"]
added = green
changed = blue
untracked = Magenta
deleted = red
85
Andy

De git config doc :

color.status.<slot>

Utilisez une couleur personnalisée pour la colorisation du statut.
<slot> fait partie de:

  • header (le texte d'en-tête du message d'état),
  • added ou updated (fichiers ajoutés mais non validés),
  • changed (fichiers modifiés mais non ajoutés dans l'index),
  • untracked (fichiers qui ne sont pas suivis par git),
  • branch (la branche courante), ou
  • nobranch (la couleur dans laquelle l'avertissement d'absence de branche est affichée, par défaut en rouge).

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

Cela fonctionnera donc:

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

Toutefois:

new files = green
deleted files = red

N'est pas possible: vous devez choisir une couleur:

  • s'ils sont ajoutés à l'index, ils choisiront la couleur de color.status.added.
  • s'ils ne sont pas ajoutés à l'index, ils choisiront la couleur ou color.status.modified.

Bien sûr, comme 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 comprend deux couleurs (arrière-plan au premier plan) de cette liste:

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

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

gras, sombre, ul, clignote et inverse.

Cela fonctionnera donc:

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

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

Voir commit 9dc3515 , commit 54590a , commit 5621068 , commit df8e472 , commit ae989a6 , commit adb3356 , commit 0111681 (23 juin 2016) par Jeff King (peff) .
(Fusionné par Junio ​​C Hamano - gitster - in commit 3c5de5c , 11 juillet 2016)

Il permet également "no- "pour la négation des attributs

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

115
VonC