2015-04-21 22 views
7

Dato un file con una sola parola cambiata, una "normale" git diff assomiglia a questo:diff git con combinato --word-diff

normal git diff

considerando che un git diff --word-diff=color assomiglia a questo:

git diff with --word-diff

È possibile combinare i due per ottenere linee separate con le parole modificate evidenziate? Qualcosa di simile a questo:

combined git diff

Potrebbe essere banale, ma non riuscivo a capirlo.

+1

Controllare http://stackoverflow.com/a/15149253/1860929 cui dispone https://github.com/git/git/blob/master/contrib/diff-highlight/diff- evidenziare –

+0

@mu 無 Devo averlo trascurato, grazie! – Stefan

risposta

0

I collegamenti nei commenti mostrano i modi per utilizzare estensioni e terze parti per farlo.

C'è un modo semplice aggiungendo i colori nel file di configurazione di Git. ad esempio

[color "diff"] 
    meta = yellow bold 
    frag = magenta bold 
    old = red 
    new = magenta green 

Naturalmente è possibile impostare qualsiasi colore supportato per le proprie esigenze.

enter image description here

+0

Questo non evidenzia le parole cambiate separatamente, vero? – Stefan

+0

Lo schema dei colori che ho incollato qui evidenzierà le parole nei colori che scegli di impostare. semplicemente aggiungilo al tuo .gitconfig e gioca con i colori per ottenere il risultato desiderato. – CodeWizard

+0

'git diff --color-words' concatena le modifiche (vedi il mio secondo screenshot). Mi piacerebbe avere due linee separate per ogni modifica (proprio come in 'git diff'), ma con le parole/i caratteri modificati evidenziati. 'git diff' non sembra supportare questo output combinato, la scelta di colori diversi non lo cambia. Mi sto perdendo qualcosa? – Stefan