Cuando corro git status -sbveo:

Quiero watch(de procps-ng 3.3.3) un repositorio. Se --colorsupone que la opción debe mantener los colores.
Curiosamente, funciona con ls:
$ watch --color "ls --color"
Demostración:

Sin embargo, para que gitlos colores desaparezcan:
$ watch --color "git status -sb"

Entonces, ¿por qué watchmuestra colores lsde la gitsalida pero no de la salida?
git
watch-command
Drew Noakes
fuente
fuente

Respuestas:
Las siguientes afirmaciones son verdaderas:
watchEjecuta el comando en un nuevo shell,sh..bashrcaliaslscomols --color=autopara permitir a los colores.shno hereda ni usabashalias.Entonces, cuando se
watchejecutals, no está pidiendo colores, solo está ejecutando la versión antigua simple. Puede eludir esto, pero, como señala aditya, también debe habilitar los coloreswatchpara que los procese correctamente.Un ejemplo de trabajo para
lses:Si no pasa
--colora mirar, verá un montón de códigos de colores feos en línea.ls --colorse interpreta comols --color=always.ls --color=autoNo imprime color en el reloj. Esto sugiere que infiere soporte de color desde el terminal en sí.Para obtener más información sobre el motivo, podemos probar si el shell del reloj cree que es un terminal real :
Sospecho que algunas aplicaciones están mirando eso (o similar) para saber si deberían activar los colores o no.
fuente
git status -sb, a pesar de que funcionals --color.git. La coloración se establece dentro de la configuración de git directamente . Así que esto no parece ser un problema de alias.autoque, como supusiste correctamente, estaba causando que git evitara la salida de color. Usar en sualwayslugar ha resuelto este problema. ¡Muchas gracias!gitusa un valor de configuración para determinar si mostrar resultados en color o no.Por ejemplo:
Esto establece la configuración de color a
autonivel global. Enautomodo, git determinará si es un terminal real antes de enviar códigos de color, como sugirió Oli.Puede forzar este valor global
always, sin embargo, una mejor idea puede ser aplicarlo a un comando particular:Poniendolo todo junto:
fuente
Funciona si
git(--color) ywatch(-c) se les dice que usen colores:fuente