web-dev-qa-db-fra.com

Comment colorer la console Git?

J'ai récemment vu que la console git de Windows est colorée, par exemple. Vert pour les ajouts, rouge pour les suppressions, etc. Comment colorer ma console git de cette manière?

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

357
MauroPorras

Comme noté par @ VonC , _color.ui_ est défini par défaut sur auto depuis Git 1.8.4.


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

_git config --global color.ui auto
_

_color.ui_ est une méta-configuration qui inclut toutes les diverses configurations _color.*_ disponibles avec les commandes git. Ceci est expliqué en détail dans _git help config_.

En résumé, il est donc plus facile et plus pérenne que de définir les différents paramètres _color.*_ séparément.

Explication détaillée à partir de la _git config_ documentation :

color.ui: Cette variable détermine la valeur par défaut pour des variables telles que _color.diff_ et _color.grep_ qui contrôlent l'utilisation de couleur par famille de commandes. Son étendue s’étendra à mesure que d’autres commandes apprennent la configuration pour définir une valeur par défaut pour l’option _--color_. Réglez-le sur always si vous souhaitez que toutes les sorties non destinées à la consommation machine utilisent la couleur, sur true ou auto si vous souhaitez que cette sortie utilise la couleur lors de l'écriture sur le terminal, ou sur false ou never si vous préférez que les commandes git n'utilisent pas de couleur, sauf si explicitement activée avec une autre configuration ou avec l'option _--color_.

660
Joel Purra

Voir, par exemple, https://web.archive.org/web/20080506194329/http://www.arthurkoziel.com/2008/02/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
53
KingCrunch

Ajoutez à votre fichier .gitconfig le 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
27
Victor

Git colorie automatiquement la plupart de ses sorties si vous le lui demandez. Vous pouvez être très précis sur ce que vous voulez colorer et comment; mais pour activer toutes les couleurs par défaut du terminal, définissez color.ui sur true:

git config --global color.ui true
7
Tanmay

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

[color]
  ui = auto

Il prend en charge toutes vos commandes git.

6
Chuntao Lu

Dans Ubuntu ou toute autre plate-forme (oui, Windows aussi!); à partir de git1.8.4 , qui était publié le 23/08/201 , vous n'aurez rien à faire :

De nombreux tutoriels enseignent aux utilisateurs de définir "color.ui" sur "auto" en tant que première chose après le paramètre "user.name/email" pour vous présenter à Git. La variable par défaut est "auto".

Donc, vous verrez les couleurs par défaut.

6
VonC

GIT utilise la sortie colorée par défaut, mais sur certains systèmes, tel que CentOS, il n'est pas activé. Vous pouvez l'activer comme ça

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

Vous pouvez choisir votre commande requise à partir d'ici.

Ici - global est facultatif pour appliquer une action à chaque référentiel de votre système. Si vous souhaitez appliquer une coloration au référentiel actuel uniquement, vous pouvez faire quelque chose comme ceci:

 git config color.ui  true 
5
Deepak Dixit

Une autre méthode consiste à éditer le .gitconfig (en créer un s’il n’existe pas), par exemple:

vim ~/.gitconfig

puis ajoutez:

[color]
  diff = auto
  status = auto
  branch = auto
5
atupal

Avec Git 2.18, vous avez plus de contrôle sur la manière dont vous voulez spécifier les couleurs dans la console.
La commande "_git config_" utilise des options distinctes , par exemple. "_--int_", "_--bool_", etc. pour spécifier le type de l'appelant souhaite que la valeur soit interprétée comme .

Une nouvelle option "_--type=<typename>_" a été introduite, ce qui simplifierait la définition de nouveaux types.

Voir commit fb0dc3b (18 avril 2018), et commit 0a8950b (09 avril 2018) par Taylor Blau (ttaylorr) .
(Fusion par Junio ​​C Hamano - gitster - dans commit e3e042b , 8 mai 2018)

_builtin/config.c_: support _--type=<type>_ comme alias préféré pour _--<type>_

_git config_ permet depuis longtemps aux appelants de fournir un "spécificateur de type" qui indique à _git config_ à (1) de s'assurer que les valeurs entrantes peuvent être interprétées comme ce type et (2) que les valeurs sortantes sont: canonisé sous ce type.

Dans une autre série, nous proposons d'étendre cette fonctionnalité avec _--type=color_ et _--default_ pour remplacer _--get-color_.

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

Actuellement, _git config_ ne prend pas en charge ce type de colorisation, mais nous devons éviter de s’accroupir trop tôt pour cette option, afin que _git config_ puisse prendre en charge _--color_ (au sens traditionnel du terme). l'avenir, si cela est souhaité.

Dans ce correctif, nous prenons en charge _--type=<int|bool|bool-or-int|...>_ en plus de _--int_, _--bool_, etc.
Ceci permet au correctif à venir susmentionné de prendre en charge l’interrogation d’une valeur de couleur avec une valeur par défaut via _--type=color --default=..._, sans gaspillage de _--color_.

Nous conservons le comportement historique consistant à se plaindre lorsque plusieurs indicateurs de type hérité _--<type>_ sont donnés, ainsi que de l'étendre à des indicateurs en conflit de type nouveau _--type=<type>_. _--int --type=int_ (et sa paire commutative) ne se plaint pas, mais _--bool --type=int_ (et sa paire commutative) le fait.

Donc auparavant, vous aviez _--bool_ et _--int_, maintenant ( documentation ):

_--type <type>
_

'_git config_' s'assurera que toute entrée ou sortie est valide avec la ou les contraintes de type données, et canonisera les valeurs sortantes sous la forme canonique de _<type>_.

Valable _<type>_ 's incluent:

  • 'bool': canonise les valeurs sous la forme "true" ou "false".
  • 'int': canonise les valeurs sous forme de simples nombres décimaux. Un suffixe facultatif de 'k', 'm' ou 'g' 'provoquera la multiplication de la valeur par 1024, 1048576 ou 1073741824 lors de la saisie.
  • '_bool-or-int_': canonise selon 'bool' ou 'int', comme décrit ci-dessus.
  • 'path': canonisez en ajoutant un _~_ initial à la valeur de _$HOME_ et _~user_ dans le répertoire de base de l'utilisateur spécifié. Ce spécificateur n'a aucun effet lors de la définition de la valeur (mais vous pouvez utiliser _git config section.variable ~/_ à partir de la ligne de commande pour permettre à votre Shell de se développer.)
  • '_expiry-date_': canonise en convertissant une chaîne de date fixe ou relative en un horodatage. 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).
_

Notez que Git 2.22 (T2 2019) explique que "_git config --type=color ..._" remplace "_git config --get-color_", mais il existe une légère différence non documentée, qui est maintenant corrigée.

Voir commit cd8e759 (05 mars 2019) par Jeff King (peff) .
(Fusionnée par Junio ​​C Hamano - gitster - dans commit f6c75e , 20 mars 2019)

config: document _--type=color_ le résultat est une ligne complète

Même si la nouvelle option "_--type=color_" à "_git config_" est censée être compatible vers le haut avec l'option "_--get-color_" traditionnelle, sa sortie n'est pas une ligne incomplète manque le LF à la fin.
Cela le rend cohérent avec la sortie d'autres types tels que "_git config --type=bool_".

Documentez-le , car cela surprend parfois les utilisateurs sans méfiance.

Cela se lit maintenant:

_--type=color [--default=<default>]_ est préféré à _--get-color_ (mais notez que _--get-color_ omettra la fin de ligne imprimée par _--type=color_).

1
VonC

se référer ici: https://nathanhoad.net/how-to-colours-in-git/

pas:

  1. Ouvrez ~/.gitconfig pour l'édition

    vi ~/.gitconfig

  2. Coller le 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
    
  3. Enregistrez le fichier.

Il suffit de changer n’importe quel fichier dans votre dépôt local et de le faire.

git status
0
gajanan malvade