tipos tag sirve remove qué para oneline nos log hace etiquetas cuando creamos commits commands git bash

tag - El color ANSI en git no se muestra correctamente



¿para qué nos sirve el sha-1 cuando creamos tags? (7)

Recientemente, cambié a SLES 11. Encontré un problema para el comando git. Todo el color ANSI no se pudo representar. En cambio, muestra el código ANSI como este:

* ESC [33m * commit 0a02124a0fd85c1f0094bcdf15bac1645e3c8630ESC [m

nota: el color ansi en ''ls'' funciona muy bien.


El problema, como han notado otros, es que su terminal está bien, pero cuando Git invoca el buscapersonas, no está interpretando correctamente los códigos de color ANSI.

Comenzaría desconectando LESS en su entorno; parece que podrías haberlo configurado anteriormente para ocultar algo que Git necesita. Si eso lo resuelve, allí estás. Si realmente debe personalizar LESS , tenga en cuenta que Git comienza con FRSX como predeterminado, así que tenga cuidado de cambiarlos si no es necesario.

Si lo hace por cualquier razón, quiere LESS en su entorno diferente de lo que quiere para Git, la forma ideal de tratar con Git y el localizador es a través de la variable de configuración core.pager . Para citar la página de manual:

El comando que usará git para paginar la salida. Se puede anular con la variable de entorno GIT_PAGER. Tenga en cuenta que git establece la variable de entorno LESS en FRSX si no está configurada cuando ejecuta el busca. Uno puede cambiar estas configuraciones estableciendo la variable LESS en algún otro valor. Alternativamente, estas configuraciones pueden ser anuladas en un proyecto o global al configurar la opción core.pager. Configurar core.pager no afecta el comportamiento de la variable de entorno LESS anterior, por lo que si desea anular la configuración predeterminada de git de esta manera, debe ser explícito. Por ejemplo, para deshabilitar la opción S de forma retrocompatible, configure core.pager en less -+$LESS -FRX . Esto será pasado al shell por git, que traducirá el comando final a LESS=FRSX less -+FRSX -FRX .

Eso, combinado con cierto conocimiento de las opciones que desea, debe llevarlo a donde desea estar. (El sofisticado método compatible con versiones anteriores funciona desactivando todas las opciones actualmente en LESS , y luego volviendo a agregar las que desee).


En git, puedes cambiar tu busca para usar la opción -R :

git config --global core.pager "less -R"


Intente configurar su variable de entorno LESS para incluir la opción -R :

LESS=-R git grep ...

Si esto funciona, agregue export LESS=-R a su ~/.bashrc o ~/.profile o archivo de inicio de shell similar.

-R or --RAW-CONTROL-CHARS Like -r, but only ANSI "color" escape sequences are output in "raw" form. Unlike -r, the screen appearance is maintained correctly in most cases. ANSI "color" escape sequences are sequences of the form: ESC [ ... m where the "..." is zero or more color specification characters


OK, lo tengo. Este problema tiene que ver con la variable MENOS.

La siguiente línea resuelve este problema:

export LESS="-erX"


Para mí, esto no funcionó:

git config --global core.pager less -R

Así que en su lugar adjunté lo siguiente a mi archivo ~ / .gitconfig

[core] pager = less -R

Para probarlo lo hice

git log --graph --pretty=format:"%C(yellow)%h%Creset%C(blue)%d%Creset %C(white bold)%s%Creset %C(white dim)(by %an %ar)%Creset" --all


Tuve un problema similar con las secuencias de escape de color de ANSI en Git para Windows v2.7.1 en las consolas Laravel Artisan y Symfony. Aquí mencioné que la solución LESS no resolvió el problema.

Dado que Git para Windows abre la terminal con bash --login -i , esta línea ingresada después de que la terminal se inició funcionó para mí:

bash


Yo tuve el mismo problema. Pero ¿por qué tengo que configurar un git en una máquina y no es necesario en otra? Quiero arreglar el origen del problema porque

git config --global core.pager "menos -R"

parece una solución para mí.