2013-05-22 16 views
44

In HEAD (l'ultimo commit), ho un file denominato foo. Nel mio attuale albero di lavoro, l'ho rinominato in bar e lo ho anche modificato.git diff tra due file diversi

Voglio git difffoo in HEAD e bar nel mio albero di lavoro corrente.

+13

Ho pensato che questa domanda (dal titolo) potrebbe riguardare l'uso di git diff su due file che non sono necessariamente in un repository. Ho trovato che il flag --no-index è per questo, ad es. 'git diff --no-index --word-diff old_file.txt new_file.txt' (--word-diff evidenzia le modifiche in base alla parola, non solo la riga, che è molto utile per il testo lungo). – Pat

+0

@Pat +1 Esattamente quello che stavo cercando –

risposta

68

Partenza l'opzione --find-renames su git-diff a https://www.kernel.org/pub/software/scm/git/docs/git-diff.html

o specificare i percorsi in modo esplicito:

git diff HEAD:full/path/to/foo full/path/to/bar

(merito va a twaggs da Git: How to diff two different files in different branches?)

+1

Grazie, funziona !! E dang, pensavo di aver fatto delle ricerche prima di fare questa domanda ... Ho contrassegnato questa domanda come un duplicato di quello che hai collegato – MiJyn

+0

Voglio menzionare, che puoi confrontare due file usando 'git diff ' even se non sono in un repository git. – mitenka

1

Se si utilizza tartaruga git è possibile fare clic con il tasto destro del mouse su un file e rilasciare un differ di: Facendo clic con il tasto destro sul primo file e attraverso il sottomenu TortoiseGit selezionare "più avanti Diff" Poi sul secondo file è anche possibile fare clic destro su questo, andare al sottomenu TortoiseGit e quindi selezionare "Diff con yourfilenamehere.txt"

-3

Utilizzando PhpStorm, mi basta copiare e prev impegnano codice e confrontalo con la versione corrente usando lo strumento integrato "confronta con appunti".