2012-11-09 28 views

risposta

0

Si potrebbe utilizzare

git diff --name-status <other-branch> 

Essa elenca i file con le differenze, con uno stato di A/M/D.

+0

Grazie, ha aiutato. Anche kDiff3 è buono per confrontare le directory. A/M/D è davvero di grande aiuto. –

1

Non ho trovato la possibilità di vedere la differenza di directory tra due rami in una modalità di confronto directory utilizzando kdiff3 e gli strumenti git standard.

cosa si potrebbe fare utilizzando gli strumenti standard (fix me se sbaglio :) è il file dal confronto di file utilizzando difftool, e una panoramica in console utilizzando:

git diff --name-status <other-branch> 

Ma ho scoperto Comprehensive Graphical Git Diff Viewer Script, che ha fatto il lavora per me se lo desideri - per confrontare l'intera directory in kdiff3.

Lo strumento è solo uno script di shell che crea snapshot paragonabili alle diramazioni nella cartella/tmp ed esegue il confronto delle cartelle kdiff3 su di essi.

Cassa script here

13

git-difftool (1) ora soddisfa questo caso di utilizzo. Basta usare il --dir-diff (o -d) Interruttore:

-d 
--dir-diff 
    Copy the modified files to a temporary location and perform 
    a directory diff on them. This mode never prompts before 
    launching the diff tool. 

Così, per esempio:

git difftool -d --tool=kdiff3 10c25f0da62929cca0b559095a313679e4c9800e..980de1bbe1f42c327ed3c9d70ac2ff0f3c2ed4e1 

Vedi anche https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html

+0

Io uso anche questo comando, ma aggiungo anche il parametro '--no-symlink' in modo che qualsiasi modifica apportata in kdiff3 applichi la directory di lavoro corrente ritirata. – Robert

0

Diciamo, abbiamo i due rami master e base Per vedere i di fference tra questi rami, basta eseguire:

git difftool -d base:src/ master:src/ 

Poi dovrebbe iniziare il vostro strumento diff prestabilito, nel mio caso kdiff3. Oppure puoi anche utilizzare l'opzione --tool per avviarne un'altra: ad es. con vimdiff

git difftool -d --tool=vimdiff base:src/ master:src/ 

o con kdiff3 stesso modo

git difftool -d --tool=kdiff3 base:src/ master:src/