Git protip : personnaliser la couleur des statuts
Par Maxime Bréhin • Publié le 3 octobre 2022
• 2 min
Si comme moi tu utilises Git essentiellement dans le terminal, alors tu utilises très souvent la commande git status
. Ce qui me gêne dans l’affichage proposé par défaut, c’est que le choix des couleurs est identique pour les fichiers modifiés, les fichiers créés et les fichiers conflictuels. De base on trouve une différence entre les fichiers indexés/stagés en vert, et les fichiers non indexés en rouge (qu’ils soient modifiés ou non suivis).
C’est là qu’intervient ma configuration personnalisée. Je précise la couleur du texte et du fond selon le statut des fichiers. J’ai opté pour :
- Noir sur fond jaune pour les fichiers non suivis (notamment ceux fraîchement créés) ;
- Magenta pour les fichiers ayant des conflits.
Je pousse même avec une mise en forme italique pour les fichiers en conflit.
git config --global color.status.untracked 'black yellow'
git config --global color.status.unmerged 'magenta italic'
Couleurs et mises en forme
Les mises en formes peuvent être cumulées (mais n’en abuse pas trop non plus). Leur ordre n’a pas d’importance. Les valeurs possibles sont :
bold
pour mettre en gras ;dim
pour atténuer la couleur du texte (pas celle du fond) ;ul
pour souligner le texte ;blink
pour faire clignoter le texte (je déconseille) ;reverse
pour inverser les couleurs ;italic
pour mettre en italique ;strike
pour barrer le texte.
Pour les couleurs on peut choisir de ne renseigner qu’une couleur — auquel cas ça changera uniquement la couleur du texte — ou préciser deux valeurs, la première pour le texte, la seconde pour le fond. Les valeurs possibles sont nombreuses, certains formats dépendent de ce que ton terminal prend en charge :
- les valeurs « classiques », textuelles sont
normal
,black
,red
,green
,yellow
,blue
,magenta
,cyan
,white
etdefault
; - une valeur numérique entre 0 et 255 (si le terminal supporte le mode ANSI 256) ;
- une valeur hexadécimale, comme
#ff0ab3
(là aussi si le terminal supporte les valeurs RGB 24 bits).