tipos tag qué lista existen etiquetas crear comandos git diff wrap

tag - lista de comandos git



git diff-manejo de líneas largas? (16)

Estoy ejecutando git-diff en un archivo, pero el cambio es al final de una larga fila.

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

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

(ejecutando git 1.5.5 a través de mingw32)


Con todo el mérito de Josh Diehl en un comentario a esta respuesta , sin embargo, siento que esta debería ser una respuesta en sí misma, por lo que agregarlo:

Una forma de lidiar con ver las diferencias en líneas largas es usar un diff orientado a palabras. Esto se puede hacer con:

git diff --word-diff

En este caso, obtendrá una salida de diferencias significativamente diferente, que le muestra específicamente qué ha cambiado dentro de una línea.

Por ejemplo, en lugar de conseguir algo como esto:

diff --git a/test-file.txt b/test-file.txt index 19e6adf..eb6bb81 100644 --- a/test-file.txt +++ b/test-file.txt @@ -1 +1 @@ -this is a short line +this is a slightly longer line

Usted podría obtener algo como esto:

diff --git a/test-file.txt b/test-file.txt index 19e6adf..eb6bb81 100644 --- a/test-file.txt +++ b/test-file.txt @@ -1 +1 @@ this is a [-short-]{+slightly longer+} line

O, con la colorización, en lugar de esto:

Usted podría obtener esto:

Ahora, si está comparando una línea muy larga, es posible que aún tenga problemas con la situación del localizador que describió originalmente y que se haya abordado, aparentemente a satisfacción, en otras respuestas. Sin embargo, esperamos que esto le brinde una nueva herramienta para identificar más fácilmente lo que ha cambiado en la línea.


Cuando está utilizando "git diff" y está mostrando varias páginas (ve ":" al final de la página) en este caso, puede escribir "-S" y presionar intro. (S debe ser mayúscula). Se cambiará de líneas largas de pliegue.


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 primero las dos versiones del archivo.



La forma más fácil de hacerlo, en mi caso utilizo Linux OS.

git diff > text.txt

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

sublime text.txt

Espero que te ayude.

No olvides borrarlo después. = 0)


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

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 establecer explícitamente que GIT_PAGER vacíe para detenerlo usando un buscapersonas. Bajo Linux:

$ GIT_PAGER='''' git diff

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

Si su terminal no es compatible con la salida de color, también puede desactivar esta --no-color 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


Mac OSX: ninguna de las otras respuestas, excepto el ''-S'' de alguien, mientras se ejecuta menos, funcionó para mí. Tomó lo siguiente para hacer persistente el ajuste de palabras:

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


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


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


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



Para usar 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 tienes que escribirlo mientras usas menos.

Aclamaciones


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


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

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

Establece la configuración del paginador para el proyecto actual.

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

Establece el buscapersonas globalmente para todos los proyectos.


Usted podría simplemente canalizar la salida de git diff a más:

git diff | more


listar la configuración actual / predeterminada:

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

luego actualice y deje fuera el -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.