the - ¿Qué significan los colores de línea en git log--graph?
git tag (2)
En este commit 73c727d69f47572bf7f21fa31831f9a3fdad944c ("log --graph: personalice las líneas del gráfico con config log.graphColors", 2017-01-19), es posible elegir los colores con la configuración log.graphColors
.
Incluso con el terminal estándar, si su color de fondo no es blanco o negro, entonces la línea del gráfico puede coincidir con su fondo y quedar oculta. Puedes excluir el color de fondo (o simplemente los colores que odias) con esto.
Utilizo Git Bash y excluyo el color GIT_COLOR_BLUE
por la razón anterior.
Puedo usar cualquier código de color hexadecimal (al menos en Git Bash). La configuración por debajo de la configuración utiliza solo tres colores.
[log]
graphColors = "#ffffff",red,green
Tengo curiosidad por lo que significan los colores de línea en git log --graph
?
Sí, estoy preguntando por líneas |
/
/
que conecta las confirmaciones *
en el borde izquierdo de la salida de la consola.
Pregunta 1
¿Estos colores tienen algún significado oculto?
¿O son elegidos seudoaleatoriamente?
Pregunta 2
A veces, las líneas superpuestas (pero desconectadas) tienen el mismo color.
Por ejemplo, vea en las líneas moradas en la captura de pantalla de arriba:
- primera linea de
a55
ae1c
- segunda línea de
3c1
a043
¿Es posible pedirle a git que elija sabiamente los colores para evitar el solapamiento de las líneas de color aisladas (que no tienen un comillas común)?
Quiero que la gráfica sea más fácil de leer.
Los colores solo tienen el propósito de ayudarlo a ver las líneas como distintas de otras líneas. Para responder a la pregunta # 1, se asignan no pseudoaleatoriamente, sino secuencialmente , cada vez que git log --graph
selecciona un nuevo "número de columna". Desafortunadamente hay dos problemas que conozco. Ambos se unen a tu pregunta # 2.
Aquí está la lista completa de colores por nombre :
GIT_COLOR_RED,
GIT_COLOR_GREEN,
GIT_COLOR_YELLOW,
GIT_COLOR_BLUE,
GIT_COLOR_MAGENTA,
GIT_COLOR_CYAN,
GIT_COLOR_BOLD_RED,
GIT_COLOR_BOLD_GREEN,
GIT_COLOR_BOLD_YELLOW,
GIT_COLOR_BOLD_BLUE,
GIT_COLOR_BOLD_MAGENTA,
GIT_COLOR_BOLD_CYAN,
Visualmente, muchos de estos colores "se ven iguales" (o lo suficientemente similares como para ser indistinguibles). En particular, encuentro que los "en negrita" se parecen mucho a los "normales" a menos que haya unas cuantas letras impresas en "en negrita", es decir, "negrita" de la fuente de mi Terminal Mac simplemente no es tan audaz que su peso estándar. Esto hace que muchas líneas sean visualmente similares en el gráfico para git log --graph --decorate --oneline --all
ejecutan en el repositorio de Git para Git, por ejemplo.
Edición : ahora es corregible (o solucionable), a partir de Git 2.12, usando la nueva entrada de configuración log.graphColors
. Esta es una lista separada por comas de nombres de colores o números de colores (consulte la entrada de documentación de git config
para "color" en la sección Valores ).
En segundo lugar, el "número de columna" es, actualmente, no el número de columna de la línea . En su lugar, es el número de columna de la confirmación . El color de la línea sube desde ese compromiso, hasta el compromiso sobre él. Todas las líneas magenta en su instantánea de la imagen van a las confirmaciones impresas en la columna # 0: tanto a55fd8d
como 3c1494a
están en "columna 0". (Ambos son compromisos de fusión, por lo que consolidan las líneas entrantes).
¿Es posible pedirle a git que elija sabiamente los colores para evitar el solapamiento de las líneas de color aisladas (que no tienen un comillas común)?
Siempre puedes clonar el repositorio de Git para Git y escribir un nuevo código. graph.c que el graph.c existente tiene casi 1400 líneas de largo, sin embargo.