2013-02-28 13 views
15

Esiste un modo per utilizzare vimdiff per confrontare la versione corrente di un file e lo stesso file n versioni di git fa?vimdiff tra la versione git attuale e precedente di un file

Per esempio, sto lavorando sul file foo.c sul ramo maestro. Mi piacerebbe fare un vimdiff tra foo.c e foo.c dal master ~ 10, per copiare una o due righe dalla vecchia versione.

PS Sono a conoscenza di git cherry pick, ma questo è per i file interi, non solo un paio di linee.

risposta

13

Duh! RTFM. Stavo aggiungendo un PPS su questo non essere un caso d'uso per git difftool, quindi ho iniziato a chiedermi "cosa fa esattamente git difftool ...".

Solution è:

git difftool master master~10 -- foo.c 

cioè, presumendo difftool è già impostato correttamente in ~/.gitconfig:

[diff] 
    tool = vimdiff 
[difftool] 
    prompt = false 
0

Una soluzione che funziona senza l'override del config git sarebbe

vimdiff file.tex <(git show master~2:file.tex)