¿Hay alguna forma de salida de color para git (o cualquier comando)?
Considerar:
baller@Laptop:~/rails/spunky-monkey$ git status
# On branch new-message-types
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: app/models/message_type.rb
#
no changes added to commit (use "git add" and/or "git commit -a")
baller@Laptop:~/rails/spunky-monkey$ git add app/models
Y
baller@Laptop:~/rails/spunky-monkey$ git status
# On branch new-message-types
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: app/models/message_type.rb
#
El resultado se ve igual, pero la información es totalmente diferente: el archivo ha pasado de no preparado a estado para confirmación.
¿Hay alguna manera de colorear la salida? Por ejemplo, los archivos que no están en escena son rojos, los en escena son verdes?
¿O incluso Changes not staged for commit:
al rojo y # Changes to be committed:
al verde?
Trabajando en Ubuntu.
EDIT: googlear encontró esta respuesta, que funciona muy bien: git config --global --add color.ui true
.
Sin embargo, ¿hay alguna solución más general para agregar color a la salida de un comando?
Respuestas:
Puedes crear una sección
[color]
en tu~/.gitconfig
con, por ejemplo, el siguiente contenidoTambién puede controlar con precisión lo que desea colorear de qué manera, por ejemplo
Espero que esto te ayude a comenzar. Y, por supuesto, necesita un terminal que admita el color.
fuente
[color "status"]
sección que agreguébranch = yellow
.Probablemente quieras usar
La
auto
parte dice que git solo intentará usar color en los terminales que lo admiten, y no obtendrá secuencias ANSI si redirige la salida de los comandos git a un archivo, por ejemplo. Establecerlotrue
es igual aauto
, y este también es el valor predeterminado desde Git 1.8.4.Esta
color.ui
es una metaconfiguración que incluye todas las diversascolor.*
configuraciones disponibles con los comandos git.Esto se explica en profundidad en
git help config
.fuente
true
(queauto
apunta a) versusalways
? Leí los documentos pero aún no consigo la diferencia.fuente
La respuesta aceptada da la solución más común. Si por alguna razón no necesita cambiar permanentemente la configuración, lo que hace esa solución, puede anular la configuración para un solo comando git:
Por ejemplo:
Probado: compatible con git 2.4.6, no compatible con git 1.7.1.
fuente
less
como yo, puedo hacerless
pasar los caracteres de escape de color a través de la terminalless -R
.fuente
Puede hacer esto con Colourer de salida de comando arbitrario . Funciona principalmente, pero no he descubierto cómo solucionar un error en el que no se muestran los avisos que esperan la entrada y no puede simplemente escribir la entrada necesaria conocida y presionar enter para continuar en todos los casos.
Ejemplo de
~/.acoc.conf
paragit
:..que funciona muy bien junto con
alias git="acoc git"
in.bash_profile
.fuente
acoc
?Para un color
git diff
entubadoless
, esto funciona:fuente
Sé que la publicación tiene cuatro años, pero nadie respondió desde mi campamento, el daltónico. Si puedes distinguir los colores, ignora mi publicación.
"git status", por ejemplo, muestra texto que es blanco sobre fondo / negro sobre fondo blanco (legible), gris oscuro para borrado (ilegible en un fondo negro pero legible en un fondo blanco) y gris medio para agregado (cebada legible en negro fondo, ilegible en el fondo blanco). Solía alternar el fondo de mi ventana de terminal a / de blanco / negro para poder leer el texto ilegible. Una solución simple es más:
Esto hace que todo el texto sea legible en una ventana de terminal de fondo blanco o negro estándar.
fuente
color.ui = never
).o apague toda / la mayor parte de la coloración a través de:
fuente
git
y quiere alguna forma de hacerlo en un sentido más global. Si conoce dicho método, edite su respuesta para explicarlo.