2012-05-07 19 views

Respuesta

29

Uso --word-diff-regex:

--word-diff-regex=<regex> 
     Use <regex> to decide what a word is, instead of considering runs 
     of non-whitespace to be a word. Also implies --word-diff unless it 
     was already enabled. 

     Every non-overlapping match of the <regex> is considered a word. 
     Anything between these matches is considered whitespace and 
     ignored(!) for the purposes of finding differences. You may want to 
     append |[^[:space:]] to your regular expression to make sure that 
     it matches all non-whitespace characters. A match that contains a 
     newline is silently truncated(!) at the newline. 

     The regex can also be set via a diff driver or configuration 
     option, see gitattributes(1) or git-config(1). Giving it explicitly 
     overrides any diff driver or configuration setting. Diff drivers 
     override configuration settings. 

nunca lo utilizó, pero supongo que git diff --word-diff-regex="[^[:space:],]+" puede trabajar.

+0

No funciona :-) – oberlies

+0

alguna idea de cómo configurarlo en git config, para utilizar esta expresión regular de forma predeterminada, cuando especifico --word-diff en lugar de que yo tenga que especificar la expresión regular cada vez . – sibaz

+1

Respondí mi propia pregunta: 'git config --global diff.wordRegex [^ [: space:],] +' – sibaz

1

También puedes probar -w/--ignore-all-space, aunque eso puede ignorar más espacios en blanco de los que te gusta.

+0

-b ignora un poco menos de espacio en blanco –

9

Además de la respuesta de KurzedMetal: sin las comillas funciona aún mejor ya que no rompe mi autocompletado de bashs al presionar TAB.

git diff --word-diff-regex=[^[:space:],]+

Cuestiones relacionadas