Como colorir a consola Git?

recentemente vi que a consola {[[0]} nas janelas é colorida, por exemplo, verde para adições, vermelho para supressões, etc. Como é que Pinto a minha Consola assim?

para o instalar, usei o comando: $ sudo apt-get install git-core

Author: MauroPorrasP, 2012-06-12

9 answers

As noted by @VonC, color.ui o valor por omissão é auto desde o git 1.8.4. Não um lançamento muito cedo;)


Do Unix & Linux StackExchange question Como colorir a saída do git? e a resposta de @Evgeny:

git config --global color.ui auto

O color.ui é uma meta configuração que inclui todas as várias configurações color.* disponíveis com os comandos git. Isto é explicado em profundidade em git help config.

Então, basicamente, é mais fácil e mais prova futura do que definir as diferentes configurações color.* separadamente. [20]git config documentação:

color.ui: esta variável determina o valor por omissão para variáveis como color.diff e color.grep que controlam a utilização de cores por família de comandos. O seu âmbito irá expandir-se à medida que mais comandos aprenderem a configuração para definir um valor por omissão para a opção --color. Configure-o para always Se quiser que toda a saída não se destine à máquina o consumo de usar a cor, a true ou auto se você quiser que a saída de cor quando escrito para o terminal, ou false ou never se preferir git comandos para não usar a cor, a menos que explicitamente activado com alguma outra configuração ou --color opção.

 640
Author: Joel Purra, 2017-05-23 12:34:10

Por exemplo, ver http://www.arthurkoziel.com/2008/05/02/git-configuration/

A parte interessante é

Resultado colorido:

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
Author: KingCrunch, 2012-06-12 14:31:34

Adicione ao seu .código seguinte do ficheiro gitconfig:

  [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
Author: Victor, 2015-03-28 17:54:44

O Git colora automaticamente a maior parte da sua saída, se o pedir. Você pode ficar muito específico sobre o que você quer colorido e como; mas para ligar toda a coloração terminal padrão, Definir a cor.ui para true:

git config --global color.ui true
 7
Author: Tanmay, 2013-08-06 18:39:16

No Ubuntu ou em qualquer outra plataforma (Sim, O Windows também!); starting git1.8.4, que foi libertado 2013-08-23, não terás de fazer nada.:

Muitos tutoriais ensinam os usuários a definir " cor.ui "para" auto "como a primeira coisa depois que você definir" user.name/email " para se apresentar ao Git. Agora a variável é por omissão " auto".

Então você verá as cores por padrão.

 6
Author: VonC, 2013-09-04 11:23:25

No seu ficheiro ~/.gitconfig, Basta adicionar isto:

[color]
  ui = auto

Trata de todos os seus comandos git.

 6
Author: Chuntao Lu, 2014-07-08 17:36:59

Outra maneira é editar o .gitconfig (criar um se não existir), por exemplo:

vim ~/.gitconfig

E depois adicionar:

[color]
  diff = auto
  status = auto
  branch = auto
 5
Author: atupal, 2015-06-12 23:36:35

O GIT usa a saída colorida por omissão, mas em algum sistema como o CentOS não está activo . Você pode ativá-lo assim

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

Pode escolher o seu comando necessário a partir daqui .

Aqui --global é opcional para aplicar acções para cada repositório no seu sistema . Se você quiser aplicar coloração para o repositório atual só então você pode fazer algo como isso -

 git config color.ui  true 
 5
Author: Deepak Dixit, 2016-02-26 13:22:39

Com o Git 2. 18, Você tem mais controlo sobre como deseja indicar as cores na consola.
o comando" git config " usa opções separadas e.g. "--int", "--bool", etc. para especificar que tipo o chamador quer que o valor seja interpretado como .

Foi introduzida uma nova opção " --type=<typename>", que tornaria mais limpo definir novos tipos.

Vercommit fb0dc3b (18 abr 2018), ecommit 0a8950b (09 abr 2018) por Taylor Blau (ttaylorr).
(Intercalado por Junio C Hamano -- gitster -- em cometer e3e042b, 08 de Maio de 2018)

builtin/config.c: support --type=<type> as preferred alias for --<type>

git config há muito tempo que permite que os chamadores forneçam um "tipo" especifier', que instrui git config para (1) garantir que a entrada os valores podem ser interpretados como esse tipo, e (2) que os valores de saída são canonicalizado sob esse tipo.

Numa outra série, propomos ampliar esta funcionalidade com --type=color e --default para substituir --get-color.

No entanto, tradicionalmente usamos --color para significar "colorir esta saída", em vez de"este valor deve ser tratado como uma cor".

Actualmente, git config não suporta este tipo de colorização, mas devemos ter o cuidado de evitar agachar-se sobre esta opção demasiado cedo, para que git config pode suportar --color (no sentido tradicional) na futuro, se isso for desejado.

Neste patch, nós apoiamos --type=<int|bool|bool-or-int|...> em adição a --int, --bool, e etc.
isto permite ao 'patch' acima mencionado suportar a pesquisa de um valor de cor com um valor por omissão via --type=color --default=..., sem desperdiçar --color.

Mantemos o comportamento histórico de reclamar quando múltiplos, as bandeiras do estilo Legado --<type> são dadas, bem como estendê-lo para opções em conflito do novo estilo --type=<type>. --int --type=int (e a sua o par comutativo) não se queixa, mas --bool --type=int (e a sua par comutativo) o.
Então, antes de teres --bool e --int, agora (documentação):
--type <type>

'git config' assegurará que qualquer entrada ou saída seja válida sob a(s) restrição (ões) de tipo indicada (s), e canonicalizará os valores de saída em <type> ' s forma canónica.

Valid <type> ' s include:

  • 'bool': canonicalize valores como "true "ou"false".
  • 'int': canonicalizar os valores como números decimais simples. Opcional sufixo de 'k', 'm', ou 'g ' fará com que o valor seja multiplicado por 1024, 1048576, ou 1073741824 após a entrada.
  • 'bool-or-int': canonicalize de acordo com 'bool' ou 'int', como descrito acima.
  • 'path': canonicalize adicionando um ~ líder ao valor de $HOME e ~user à pasta pessoal para o utilizador indicado. Este especificador não tem faça efeito ao definir o valor (mas pode usar git config section.variable ~/ a partir da linha de comandos para deixar a sua linha de comandos fazer o expansao.)
  • 'expiry-date': canonicalize convertendo de uma string de data fixa ou relativa para um timestamp. Este especificador não tem efeito ao definir o valor.
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
  Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).
 1
Author: VonC, 2018-05-20 21:22:14