¿Cómo colorear la consola Git?
Frecuentes
Visto 181,334 veces
13 Respuestas
717
As señaló by @VonC, color.ui
por defecto es auto
desde Git 1.8.4
De la pregunta de Unix & Linux Stackexchange ¿Cómo colorear la salida de git? y respuesta por @Evgeny:
git config --global color.ui auto
La
color.ui
es una metaconfiguración que incluye todos los diversoscolor.*
configuraciones disponibles congit
comandos Esto se explica en profundidad engit help config
.
Básicamente, es más fácil y está más preparado para el futuro que configurar los diferentes color.*
ajustes por separado.
Explicación detallada de la git config
documentación:
color.ui
: esta variable determina el valor predeterminado para variables comocolor.diff
ycolor.grep
que controlan el uso de color por familia de comandos. Su alcance se ampliará a medida que más comandos aprendan la configuración para establecer un valor predeterminado para el--color
opción. Configúralo enalways
si desea que todas las salidas no destinadas al consumo de la máquina utilicen color, paratrue
orauto
si desea que dicha salida use color cuando se escriba en el terminal, o parafalse
ornever
si prefiere que los comandos de git no usen color a menos que esté habilitado explícitamente con alguna otra configuración o el--color
.
Respondido 01 Abr '19, 09:04
Esto también funciona en OSX, no solo en Linux como hacía la pregunta: StackExchange lo que diablos
Probablemente necesite agregar 'verdadero' al final. git config --global color.ui automático verdadero - Vamshi
@Skeptor: no, auto
es suficiente. - Joel Purrá
@Phani: sí, es persistente. - Joel Purrá
Es persistente porque añade la ui = auto
entrada al [color]
sección en el usuario ~/.gitconfig
expediente. - Andris
57
Por ejemplo, vea https://web.archive.org/web/20080506194329/http://www.arthurkoziel.com/2008/05/02/git-configuration/
La parte interesante es
Salida coloreada:
git config --global color.branch auto git config --global color.diff auto git config --global color.interactive auto git config --global color.status auto
respondido 14 mar '19, 07:03
Estoy usando una versión anterior de git y la configuración color.ui auto
no funcionó para mí, esto lo hizo. Gracias. - Matt K
43
Agregue a su archivo .gitconfig el siguiente código:
[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
Respondido 26 Oct 20, 14:10
8
Git colorea automáticamente la mayor parte de su salida si se lo pide. Puede ser muy específico sobre lo que quiere colorear y cómo; pero para activar todos los colores de terminal predeterminados, establezca color.ui en verdadero:
git config --global color.ui true
Respondido 06 ago 13, 19:08
7
En Ubuntu o cualquier otra plataforma (¡sí, Windows también!); a partir de git1.8.4, que era lanzado el 2013-08-23, no tendrás que hacer nada:
Muchos tutoriales enseñan a los usuarios a configurar "color.ui" en "automático" como lo primero después de configurar "
user.name/email
" para presentaros a Git. Ahora la variable por defecto es "auto
".
Entonces verás los colores por defecto.
Respondido el 04 de Septiembre de 13 a las 12:09
(bueno, incluso Windows, dependiendo de la terminal: stackoverflow.com/a/12133244/6309) - VonC
Usando Ubuntu en 2014, instalé git y aún tenía que ejecutar git config --global color.ui auto
. Lo mismo es cierto para mi Mac, el único que tiene por defecto auto
fue Git Bash en mi PC con Windows. - sarga
@sargas Claro, necesitas instalar de un PPA: launchpad.net/~git-core/+archive/ppa (para Ubuntu) o git-scm.com/download/mac (para Mac) - VonC
Ya veo, así que depende de la fuente. Agradezco su tiempo para comentar esto. - sarga
6
En su ~/.gitconfig
archivo, simplemente agregue esto:
[color]
ui = auto
Se encarga de todos tus comandos de git.
Respondido 08 Jul 14, 18:07
5
Otra forma es editar el .gitconfig
(cree uno si no existe), por ejemplo:
vim ~/.gitconfig
y luego agregue:
[color]
diff = auto
status = auto
branch = auto
Respondido el 13 de junio de 15 a las 00:06
como mencionó @chuntao-lu [color] ui = auto
es suficiente. - chacko mateo
5
GIT utiliza la salida en color de forma predeterminada, pero en algunos sistemas como CentOS no está habilitado. Puedes habilitarlo así
git config --global color.ui true
git config --global color.ui false
git config --global color.ui auto
Puede elegir el comando requerido desde aquí.
Aquí --global es opcional aplicar la acción para cada repositorio en su sistema. Si desea aplicar coloración solo para el repositorio actual, puede hacer algo como esto:
git config color.ui true
Respondido 26 Feb 16, 13:02
3
Bueno, si no está satisfecho con la configuración predeterminada, puede usar Código de escape ANSI para ayudarlo a establecer el color, y si desea modificar algún texto, puede escribir bash para ayudarlo. ver como a continuación:
Ejemplos
# .gitconfig
[alias]
st-color = "!f() { \
echo -n -e '\\033[38;2;255;0;01m\\033[4m' ;\
git status -s | grep ' D' | \
sed -e 's/^ ./DELETE:/' ; \
echo -n -e '\\033[m' ;\
\
echo -n -e '\\033[48;2;128;128;128m' ;\
echo -n -e '\\033[38;2;0;255;01m' ;\
git status -s | grep ' [AM]' | \
sed -e 's/^ ./NEW OR MODIFY:/' ; \
echo -n -e '\\033[m' ;\
\
echo -n -e '\\033[38;2;255;0;255m' ;\
echo Rename ;\
git status -s | grep 'R ' | \
sed -e 's/^..//' ; \
echo -n -e '\\033[m' ;\
}; f"
manifestación
Explicación
puedes escribir el guión largo en
.gitconfig
use la sintaxis de la siguiente manera:[alias] your-cmd = !f() { \ \ }; f"
echo -n -e
(ver más echo)- -n = No genera una nueva línea al final.
- -e Habilita la interpretación de la siguiente barra invertida con escape
\\033[38;2;255;0;0m\\033[4m
(ver más Parámetros SGR)\\033[38;2;255;0;0m
: 38 media de proa color. 255;0;0 = Rojo | r;g;b\\033[4m
: subrayar
grep
: El comando grep se usa para buscar texto.sed -e 's/be_replace_string/new_string/'
reemplace la cadena por una nueva cadena.
Respondido 07 Jul 20, 10:07
2
Con Git 2.18, tiene más control sobre cómo desea especificar los colores en la consola.
La "git config
El comando " usa opciones separadas p.ej "--int
""--bool
", etc. para especificar qué tipo quiere la persona que llama que se interprete el valor como.
Un nuevo "--type=<typename>
Se ha introducido la opción ", que haría más limpio definir nuevos tipos.
Vea confirmar fb0dc3b (18 de abril de 2018), y confirmar 0a8950b (09 abr 2018) por Taylor Blau (ttaylorr
).
(Fusionada por Junio C Hamano - gitster
-- in cometer e3e042b08 de mayo de 2018)
builtin/config.c
: apoyo--type=<type>
como alias preferido para--<type>
git config
ha permitido durante mucho tiempo que las personas que llaman proporcionen un "especificador de tipo", que instruyegit config
para (1) asegurarse de que los valores entrantes se puedan interpretar como ese tipo, y (2) que los valores salientes se canonicen bajo ese tipo.En otra serie, proponemos extender esta funcionalidad con
--type=color
y--default
para reemplazar--get-color
.Sin embargo, tradicionalmente usamos
--color
para significar "colorear esta salida", en lugar de "este valor debe tratarse como un color".Actualmente,
git config
no es compatible con este tipo de coloración, pero debemos tener cuidado de no poner en cuclillas esta opción demasiado pronto, de modo quegit config
puede apoyar--color
(en el sentido tradicional) en el futuro, si así se desea.En este parche, apoyamos
--type=<int|bool|bool-or-int|...>
además de--int
,--bool
, y etc.
Esto permite que el próximo parche antes mencionado admita la consulta de un valor de color con un valor predeterminado a través de--type=color --default=...
, sin derrochar--color
.Mantenemos el comportamiento histórico de quejarnos cuando múltiples, al estilo heredado
--<type>
se dan banderas, así como extender esto a conflictos de nuevo estilo--type=<type>
banderas.--int --type=int
(y su par conmutativo) no se queja, pero--bool --type=int
(y su par conmutativo) sí.
Así que antes tenías --bool
y --int
, ahora (documentación):
--type <type>
'
git config
' se asegurará de que cualquier entrada o salida sea válida bajo las restricciones de tipo dadas, y canonicalizará los valores salientes en<type>
forma canónica de .Válido
<type>
incluyen:
- '
bool
': canonicalizar los valores como "true
"O"false
".- '
int
': canonicaliza los valores como números decimales simples. Un sufijo opcional de 'k
','m
', o'g
' hará que el valor se multiplique por 1024, 1048576 o 1073741824 al ingresarlo.- '
bool-or-int
': canonicalizar de acuerdo con 'bool
"O"int
', como se describió anteriormente.- '
path
': canonicaliza agregando un encabezado~
al valor de$HOME
y~user
al directorio de inicio del usuario especificado. Este especificador no tiene efecto al establecer el valor (pero puede usargit config section.variable ~/
desde la línea de comando para permitir que su shell haga la expansión).- '
expiry-date
': canonicalizar mediante la conversión de una cadena de fecha fija o relativa a una marca de tiempo. Este especificador no tiene ningún efecto al establecer el valor.
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).
Tenga en cuenta que Git 2.22 (Q2 2019) explica "git config --type=color ...
"está destinado a reemplazar"git config --get-color
", pero hay una pequeña diferencia que no estaba documentada, que ahora está arreglada.
Vea cometer cd8e759 (05 de marzo de 2019) por jeff rey (peff
).
(Fusionada por Junio C Hamano - gitster
-- in cometer f6c75e3, 20 de marzo de 2019)
config
: documento--type=color
la salida es una línea completaA pesar de que el más nuevo "
--type=color
"opción a"git config
" está destinado a ser compatible hacia arriba con el tradicional "--get-color
", a diferencia de esta última, su salida no es una línea incompleta a la que le falte el LF al final.
Eso lo hace consistente con la salida de otros tipos como "git config --type=bool
".documentarlo, ya que en ocasiones sorprende a los usuarios desprevenidos.
Esto ahora dice:
--type=color [--default=<default>]
se prefiere sobre--get-color
(pero tenga en cuenta que--get-color
omitirá la nueva línea final impresa por--type=color
).
Usted puede ver git config --type=bool
utilizado con Git 2.26 (Q1 2020) para reemplazar "git config --bool
"llamadas en plantillas de muestra.
Vea cometer 81e3db4 (19 de enero de 2020) por Lucio Hu (lebensterben
).
(Fusionada por Junio C Hamano - gitster
-- in cometer 7050624, 30 de enero de 2020)
templates
: arreglar la opción de tipo en desuso--bool
Firmado por: Lucius Hu
La
--bool
opción degit-config
está marcado como histórico, y se recomienda a los usuarios que utilicen--type=bool
preferiblemente.
Esta confirmación reemplaza todas las apariciones de--bool
en las plantillas.También tenga en cuenta que no se encuentran otras opciones de tipo obsoletas, incluidas
--int
,--bool-or-int
,--path
o el--expiry-date
.
Respondido 03 Feb 20, 14:02
2
Mejorando los colores de 'tipo rama' de Git en Windows 10:
mostrando comando git branch -avv
para todos los ejemplos...
1. Esquema de color predeterminado de Git:
git config --system --remove-section color.branch
2. Colores de rama dados en otro https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be en esta página:
git config --system color.branch.local "amarillo" git config --system color.branch.current "amarillo inverso" git config --system color.branch.remote "verde"
3. Esquema de color de rama posiblemente mejorado:
git config --system color.branch.local "amarillo" git config --system color.branch.current "brightwhite yellow" git config --system color.branch.remote "normal green" git config --system color.branch. aguas arriba "cian blanco brillante"
4. Haz el tuyo propio:
Especifique el color de primer plano más un color de fondo (opcional). El conjunto de colores que tienen un efecto en Windows 10 se dan de acuerdo con la siguiente expresión regular (sí, puede usar brightblack
y es de hecho bastante útil):
(normal|(brillante)?(negro|rojo|verde|amarillo|azul|magenta|cian|blanco))
Por lo que puedo decir, el dim
opción (ver enlace de documentos en la parte inferior) no hace nada en la consola de Windows 10, y el bold
opción tiene el mismo efecto que una bright*
color. Ahora recuerde la sintaxis de configuración que se muestra en los ejemplos:
git config <config-type> color.branch.<slot> "<fg> <bg>"
El parámetro <config-type>
es típicamente --system
or --global
. Si se omite, los colores especificados solo se aplicarán al repositorio actual. Con los nombres de los colores que se acaban de detallar, puede establecer el primer plano <fg>
y antecedentes <bg>
colores para tipos de rama específicos, donde <slot>
es uno de los siguientes:
current
(la rama actual)local
(una sucursal local)remote
(una rama de seguimiento remoto en refs/remotes/)upstream
(rama de seguimiento ascendente)plain
Como siempre, puede mostrar toda su configuración de git, que incluirá cualquiera de las opciones que haya configurado como se describe aquí, a través del siguiente comando:
git config -l --show-origin
Tenga en cuenta que también hay un conjunto adicional de opciones de configuración que se relacionan con los colores de salida del registro (no discutidos aquí):
git config --system color.decorate.(branch|remoteBranch|tag|stash|HEAD|grafted) <color>
referencia: https://git-scm.com/docs/git-config
Respondido el 23 de Septiembre de 21 a las 20:09
0
consulte aquí: https://nathanhoad.net/how-to-colours-in-git/
pasos:
Abra ~/.gitconfig para editar
vi ~ / .gitconfig
Pegue el siguiente código:
[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
Guarde el archivo.
Simplemente cambie cualquier archivo en su repositorio local y haga
git status
Respondido el 23 de Septiembre de 21 a las 02:09
-1
Supongamos que desea que la rama actual sea amarilla y que todas las demás ramas sean cian en negrita. Estoy considerando que desea que estos cambios se realicen localmente, es decir, en su repositorio actual y no para todos los repositorios presentes en su sistema. Vaya al archivo .git usando "cd .git" y luego abra el archivo "config". Dentro del archivo de configuración, escriba el contenido a continuación sin cambiar nada más en el archivo de configuración.
[color]
ui=true
[color "branch"]
local=cyan bold
current=yellow bold
Y luego guarde el archivo de configuración. Abra la consola git y realice rama de git. Verás la diferencia
Respondido 31 Oct 21, 16:10
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas git colors console or haz tu propia pregunta.
A partir de git1.8.4, debería ver los colores de forma predeterminada. Ver mi respuesta a continuación. - VonC
@VonC git 1.9.1 en Ubuntu 14.04, no sucedió. Tuve que configurar la configuración de la respuesta de JoelPurra yo mismo. - Izkata
@Izkata extraño, lo probaré más tarde, pero ¿qué pasa con un git 2.1+? (como comento abajo en stackoverflow.com/questions/10998792/…) - VonC
Este es un enlace bastante útil para valores de color, atributos, etc.: espejos.edge.kernel.org/pub/software/scm/git/docs/… - Mladen B.