Pregunta

Estoy ejecutando git-diff en un archivo, pero el cambio está al final de una línea larga.

Si uso las teclas de cursor para moverme a la derecha, pierde la codificación de colores y, lo que es peor, las líneas no se alinean, lo que dificulta el seguimiento del cambio.

¿Hay alguna forma de evitar ese problema o simplemente hacer que las líneas se ajusten?

(ejecutando git 1.5.5 a través de mingw32)

¿Fue útil?

Solución

La visualización de la salida de git diff es manejada por cualquier buscapersonas que estés usando.

Comúnmente, bajo Linux, se usaría less .

Puedes decirle a git que use un buscapersonas diferente configurando la variable de entorno GIT_PAGER . Si no le importa la paginación (por ejemplo, su terminal le permite retroceder), puede intentar configurar explícitamente GIT_PAGER para que se vacíe y dejar de usar un localizador. Bajo Linux:

$ GIT_PAGER='' git diff

Sin un buscapersonas, las líneas se ajustarán.

Si su terminal no es compatible con la salida de color, también puede desactivar esta opción utilizando el argumento --no-color , o colocando una entrada en la sección de color de su archivo de configuración de git.

$ GIT_PAGER='' git diff --no-color

Otros consejos

O si usa menos como buscapersonas predeterminado, simplemente escriba -S mientras ve el diff para volver a habilitar el ajuste en menos.

También puedes usar git config para configurar el paginador para envolver.

$ git config core.pager 'less -r' 

Establece la configuración de buscapersonas para el proyecto actual.

$ git config --global core.pager 'less -r' 

Establece el buscapersonas globalmente para todos los proyectos

Para utilizar menos como buscapersonas y hacer que el ajuste de línea sea permanente, simplemente puede habilitar la opción de plegar líneas largas:

git config --global core.pager 'less -+S'

De esta manera, no tiene que escribirlo mientras usa menos.

Saludos

Sólo busqué en Google este. GIT_PAGER = 'less -r' funciona para mí

Mac OSX: ninguna de las otras respuestas, excepto la "-S" de alguien, mientras que menos funciona, funcionó para mí. Tomó lo siguiente para hacer que el ajuste de palabra sea persistente:

git config --global core.pager 'less -+$LESS -FRX'

Desde Git 1.5.3 ( Sep 2007 )

una opción --no-pager ha estado disponible.

git --no-pager diff

¿Cómo evito que git diff use un buscapersonas?

Ejemplo

A partir de v2.1, el ajuste es el predeterminado

Lanzamiento de Git v2.1 Notas

Ocho años después, encuentro una respuesta superior, de https://superuser.com/questions/777617/line-wrapping-less-in-os-x-specifically-for-use-with-git-diff :

git config core.pager `fold -w 80 | less`

Ahora canaliza el git diff a través del plegado, primero, luego a menos: ajustado, menos altura de página es correcto, mantenga el resaltado de sintaxis.

Puede simplemente canalizar la salida de git diff a más:

git diff | more

No es una solución perfecta, pero gitk y git-gui pueden mostrar esta información, y tener barras de desplazamiento.

Cuando estás usando " git diff " y muestra varias páginas (ves ": " al final de la página) en este caso, puedes escribir " -S " y presiona enter. (S debe ser mayúscula). cambiará las líneas largas de pliegue.

Nadie señaló esto hasta ahora. Es bastante sencillo de recordar y no es necesario realizar ninguna configuración adicional en la configuración de git

git diff --color | less -R

listar la configuración actual / predeterminada:

  $ git config --global core.pager  
    less -FXRS -x2

luego actualice y deje fuera la opción -S como:

  $ git config --global core.pager 'less -FXR -x2'

la -S: hace que las líneas más largas que el ancho de la pantalla se recorten en lugar de doblarlas.

Cuando estoy en problemas, a menudo recurro a DiffMerge. Excelente herramienta de diferencias que tiene resaltado de diferencias en línea. Además, en las últimas versiones agregaron un modo para tener un modo horizontal.

Sin embargo, no he podido configurar git para usarlo. Así que tengo que andar por ahí para obtener ambas versiones del archivo primero.

La forma más fácil de hacerlo, en mi caso, uso el sistema operativo Linux

git diff > text.txt

Esta línea de comando crea y coloca la salida de git diff dentro de text.txt luego puede abrirlo con otro editor de texto, por ejemplo, texto sublime.

sublime text.txt

Espero que te ayude.

no olvides borrarlo después. = 0)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top