2011-04-12 9 views

Respuesta

82

git diff --color-words --no-index

+5

Desde la página de manual: "Si exactamente dos caminos se dan y al menos un puntos fuera del repositorio actual, git diff compararán los dos archivos/directorios . Este comportamiento puede ser forzado por --no-index. " (Muchas veces ni siquiera necesita '--no-index'.) – Cascabel

+1

Al menos en mi git 1.9.3, el orden debe ser' git diff --no-index --color-words' – PhML

+3

In mi orden de git v1.9.3 de '--no-index' y' --color-words' no importa ... (En realidad no puedo encontrar un caso ahora donde falla sin '--no-index' en todas). –

1

se puede decir git diff --color=always --color-words, que le dará los códigos de escape de color en la salida. usted va a tener un poco de cáscara de interpretar los códigos de color, aunque ...

+0

La pregunta era sobre usarlo fuera del repositorio de Git. También omite algunas cosas cuando '--color-words = always' en vez de' 'color-words'. –

+0

@vi: lo siento, solo dijiste »outside git«, no mencionó un repositorio en ninguna parte. pensé que se trataba de tener el color en otras aplicaciones además de git (cuando por ejemplo, entubado) - que también es "fuera de git", en el sentido de "no dentro de la colección de herramientas/herramientas de git predeterminadas" – knittl

6

De acuerdo con un comentario de Jefromi sólo puede utilizar

git diff --color-words file1 file2 

exterior de repositorios Git también.

+5

git diff no funcionó dos archivos de arbitraje como se mencionó anteriormente. (git versión 1.7.4). Aunque, 'git diff --color-words --no-index ' funciona, el enfoque correcto sería usar wdiff, que está destinado a tal fin (http://www.gnu.org/software/wdiff/) –

+2

@Manu No, 'git diff' está destinado a este fin. 'wdiff' es solo un truco. Lee tu enlace en algún momento. – Zenexer

1

Si estoy dentro de un repositorio Git (git v2.3.3):

  • git diff --color-words no funciona (sin salida)
  • git diff --no-index no acepta ni --color-words--color argumentos

Uso de wdiff es posible, configurado para usar colores, en lugar de subrayado:

wdiff -n \ 
    -w $'\033[30;31m' -x $'\033[0m' \ 
    -y $'\033[30;32m' -z $'\033[0m' \ 
    … | less -R 

Fuente: https://www.gnu.org/software/wdiff/manual/html_node/wdiff-Examples.html (modificado para usar colores de primer plano en lugar de colores de fondo)

Espero que ayude.

+0

¿Por qué 'git --no-index --color-words' falla? Lo usé (con versiones anteriores de Git, aunque). –

1

Git versión 1.9.1:

git diff --word-diff=color fileA fileB