2012-10-09 13 views
70

Quiero colorear salida de git-estado de forma que:Cómo colorear la salida de estado de git?

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

Yo en cambio estoy viendo escenifiqué archivos en los archivos verde y azul unstaged en: screenshot of git-status

Mi .gitconfig está configurado con la siguiente basa en algunas búsquedas:

[color] 
status = auto 

[color "status"] 
added = green 
changed = blue 
untracked = magenta 
deleted = red 
+1

Nota: git 2.9.1 admite los atributos en cursiva y golpe. Ver mi edición a continuación. – VonC

Respuesta

97

De git config doc:

color.status.<slot> 

uso personalizado de color para la coloración de estado.
<slot> es uno de:

  • header (el texto del encabezado del mensaje de estado),
  • added o updated (archivos que se añaden, pero no comprometidos),
  • changed (archivos que se cambian, pero no se añade en el índice),
  • untracked (archivos que no son seguidos por GIT),
  • branch (la rama actual), o
  • nobranch (el color de la advertencia ninguna rama se muestra en, por defecto a rojo).

Los valores de estas variables se pueden especificar como en color.branch.<slot>.

Así que esto va a funcionar:

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

Sin embargo:

new files = green 
deleted files = red 

no es posible: hay que elegir uno de los colores:

  • si se añaden a el índice, escogerán el color para color.status.added.
  • si no se añaden al índice, que recogerá el color o color.status.modified.

Por supuesto, como commented por elboletaire:

Recuerde que debe activar la salida de coloración si no se ha activado previamente:

git config --global color.ui true 

Shaun Luttin añade :

El comando también puede tomar múltiples parámetros entre comillas. Esto incluye dos colores (fondo plano) de esta lista:

normal, negro, rojo, verde, amarillo, azul, magenta, cian y negro;

y también incluye un atributo (estilo) de esta lista:

negrita, dim, ul, abrir y cerrar y marcha atrás.

Así que esto va a funcionar:

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

Nota: con Git 2.9.1 (julio de 2016), el esquema de colores de salida aprendió dos nuevos atributos, cursiva y huelga, además de la ya existente en negrita, invertir, etc.

Ver commit 9dc3515, commit 54590a0, commit 5621068, commit df8e472, commit ae989a6, commit adb3356, commit 0111681 (23 Jun 2016) por Jeff King (peff).
(Fusionado por Junio C Hamano -- gitster -- en commit 3c5de5c 11 Jul 2016)

También permiten "no-" para los atributos negando

El uso de "no-bold" en lugar de "nobold" es más fácil de leer y más natural para escribir (para mí, de todos modos, a pesar de que yo era la persona que introdujo "nobold" en el primer lugar). Es fácil permitir que ambos.

+20

Recuerde que debe activar la salida de coloración si no se ha activado previamente: 'git config --global color.ui true' – elboletaire

+1

@elboletaire buen punto. Lo he incluido en la respuesta para una mayor visibilidad. Gracias – VonC

+0

, color.ui es la respuesta. – Robeezy

Cuestiones relacionadas