Comment colorier la console Git?

j'ai vu récemment que la console git dans les fenêtres est colorée, par exemple vert pour les ajouts, rouge pour les suppressions, etc. Comment puis-je colorer ma console git comme ça?

Pour l'installer, j'ai utilisé la commande: $ sudo apt-get install git-core

348
demandé sur MauroPorrasP 2012-06-12 18:30:00

9 réponses

Comme noté par @VonC , color.ui par défaut auto depuis git 1.8.4. Pas une version trop tôt ;)


De l'Unix & Linux Stackexchange question Comment coloriser sortie de git? et la réponse de @Evgeny :

git config --global color.ui auto

le color.ui est une configuration meta qui comprend toutes les différentes configurations color.* disponibles avec les commandes git . Ceci est expliqué en détail dans git help config .

donc fondamentalement, il est plus facile et plus de preuve future que de définir les différents paramètres color.* séparément.

explication détaillée de la git config documentation :

color.ui : Cette variable détermine la valeur par défaut pour les variables telles que color.diff et color.grep qui contrôlent l'utilisation de la couleur par famille de commandes. Sa portée s'élargira à mesure que d'autres commandes apprendront la configuration pour définir une valeur par défaut pour l'option --color . Mettez-le sur always si vous voulez que toutes les sorties non destinées à la consommation de la machine utilisent la couleur, sur true ou auto si vous voulez qu'une telle sortie utilise la couleur lorsqu'elle est écrite sur le terminal, ou sur false ou never si vous préférez les commandes git pour ne pas utiliser la couleur à moins qu'elle ne soit activée explicitement avec une autre configuration ou l'option --color .

640
répondu Joel Purra 2017-05-23 12:34:10

par exemple voir http://www.arthurkoziel.com/2008/05/02/git-configuration /

la partie intéressante est

sortie colorisée:

git config --global color.branch auto
git config --global color.diff auto
git config --global color.interactive auto
git config --global color.status auto
52
répondu KingCrunch 2012-06-12 14:31:34

ajouter à votre .gitconfig file code suivant:

  [color]
    ui = auto
  [color "branch"]
    current = yellow reverse
    local = yellow
    remote = green
  [color "diff"]
    meta = yellow bold
    frag = magenta bold
    old = red bold
    new = green bold
  [color "status"]
    added = yellow
    changed = green
    untracked = cyan
25
répondu Victor 2015-03-28 17:54:44

git colore automatiquement la plupart de ses sorties si vous le lui demandez. Vous pouvez obtenir très spécifique sur ce que vous voulez coloré et comment; mais pour mettre en marche toutes les couleurs de terminal par défaut, définir la couleur.ui à true:

git config --global color.ui true
7
répondu Tanmay 2013-08-06 18:39:16

dans Ubuntu ou toute autre plate-forme (Oui, Windows aussi!); à partir de git1.8.4 , qui était sorti le 2013-08-23 , vous n'aurez rien à faire :

beaucoup de tutoriels enseignent aux utilisateurs à définir la couleur.l'interface utilisateur" à "auto" comme la première chose après avoir défini " les user.name/email " présentez-vous à Git. maintenant la variable par défaut à " auto ".

donc vous verrez les couleurs par défaut.

6
répondu VonC 2013-09-04 11:23:25

dans votre fichier ~/.gitconfig , ajoutez simplement ceci:

[color]
  ui = auto

il prend soin de toutes vos commandes git.

6
répondu Chuntao Lu 2014-07-08 17:36:59

une autre façon est d'éditer le .gitconfig (créer un s'il n'existe pas), par exemple:

vim ~/.gitconfig

et ajouter:

[color]
  diff = auto
  status = auto
  branch = auto
5
répondu atupal 2015-06-12 23:36:35

Git utilise la sortie colorée par défaut mais sur certains systèmes comme As CentOS il n'est pas activé . Vous pouvez l'activer comme ceci

git config --global color.ui  true 
git config --global color.ui  false 
git config --global color.ui  auto 

vous pouvez choisir votre commande requise ici .

Ici --global est en option pour appliquer l'action pour chaque dépôt dans votre système . Si vous voulez appliquer la coloration pour le dépôt courant seulement alors vous pouvez faire quelque chose comme ceci -

 git config color.ui  true 
5
répondu Deepak Dixit 2016-02-26 13:22:39

avec Git 2.18, vous avez plus de contrôle sur la façon dont vous voulez spécifier les couleurs dans la console.

la" git config " commande utilise des options séparées p.ex. " --int ", " --bool ", etc. pour préciser quel type l'appelant veut que la valeur soit interprétée comme .

une nouvelle option --type=<typename> " a été introduite, qui rendrait plus propre la définition de nouveaux types.

Voir commettre fb0dc3b (18 Avril 2018), et commettre 0a8950b (09 Avril 2018) par Taylor Blau ( ttaylorr ) .

(fusionné par Junio CA Hamano -- gitster -- in commit e3e042b , 08 May 2018)

builtin/config.c : support --type=<type> comme alias préféré pour --<type>

git config permet depuis longtemps aux appelants de fournir un " type spécificateur', qui donne instruction à git config de (1) s'assurer que les valeurs peuvent être interprétées comme ce type, et (2) que les valeurs sont canonisé sous ce type.

Dans une autre série, nous proposons d'étendre cette fonctionnalité à --type=color et --default pour remplacer --get-color .

Cependant, nous utilisons traditionnellement --color pour signifier " coloriser cette sortie", au lieu de "cette valeur doit être traitée comme une couleur".

actuellement, git config ne supporte pas ce genre de colorisation, mais nous devons veiller à ne pas trop attendre sur cette option, afin que git config peut supporter --color (au sens traditionnel) dans le l'avenir, si cela est souhaité.

dans ce patch, nous supportons --type=<int|bool|bool-or-int|...> dans ajout de --int , --bool , etc.

cela permet au patch à venir susmentionné de supporter la requête d'une valeur de couleur avec une valeur par défaut via --type=color --default=... , sans dilapider --color .

Nous conservons l'historique du comportement de se plaindre lorsque plusieurs, les drapeaux --<type> de style "legacy" sont donnés, ainsi que de l'étendre à conflit de drapeaux --type=<type> de nouveau style. --int --type=int (et ses commutative pair) ne se plaint pas, mais --bool --type=int (et ses commutative paire).

donc avant que vous ayez --bool et --int , maintenant ( documentation ):

--type <type>

' git config 'veillera à ce que toute entrée ou sortie soit valide sous la ou les contraintes de type données, et canonisera les valeurs sortantes dans <type> 's forme canonique.

Valide <type> , comprendre:

  • ' bool ': accepter les valeurs " true " ou " false ".
  • ' int ': accepter les valeurs comme de simples nombres décimaux. Un suffixe facultatif de ' k ', ' m ', ou ' g ' fera que la valeur sera multipliée par 1024, 1048576, ou 1073741824 à l'entrée.
  • " bool-or-int ": canonicaliser selon " bool " ou " int ", comme décrit ci-dessus.
  • ' path ': accepter par l'ajout d'un ~ à la valeur $HOME et ~user dans le répertoire home de l'utilisateur spécifié. Ce spécificateur n'a pas de effet lors de la définition de la valeur (mais vous pouvez utiliser git config section.variable ~/ depuis la ligne de commande pour laisser votre shell faire l'extension.)
  • ' expiry-date ': canonicaliser par conversion d'une chaîne de date fixe ou relative en une estampille temporelle. Ce spécificateur n'a aucun effet lors de la définition de la valeur.
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
  Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).
1
répondu VonC 2018-05-20 21:22:14