2012-11-09 9 views

Antwort

0

könnten Sie

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

verwenden Sie listet Dateien mit Unterschieden, mit dem Status A/M/D.

+0

Dank half es. Auch kDiff3 ist gut, Verzeichnisse zu vergleichen. A/M/D ist wirklich eine große Hilfe. –

1

Ich habe keine Möglichkeiten gefunden, Verzeichnisunterschied zwischen zwei Zweigen in einem Verzeichnisvergleichsmodus mit kdiff3 und Standard-Git-Tools zu sehen.

Was Standard-Tools durchgeführt werden konnte (mich beheben, wenn ich falsch bin :) ist datei Vergleich difftool verwenden und Übersicht in Konsole:

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

Aber ich habe Comprehensive Graphical Git Diff Viewer Script gefunden, dass die tat arbeite für mich wie gewünscht - um das gesamte Verzeichnis in kdiff3 zu vergleichen.

Das Tool ist nur ein Shell-Skript, das zu vergleichende Snapshots im/tmp-Ordner erstellt und den kdiff3-Ordnervergleich auf ihnen ausführt.

Kasse das Skript here

13

git-difftool (1) jetzt diesen Fall Anwendung erfüllt. Verwenden Sie einfach die --dir-diff (oder -d) Schalter:

-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. 

So zum Beispiel:

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

Siehe auch https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html

+0

Ich benutze diesen Befehl auch, aber füge auch den Parameter '--no-symlink' hinzu, so dass alle Änderungen, die ich in kdiff3 mache, das aktuell ausgecheckte Arbeitsverzeichnis anwendet. – Robert

0

Lassen Sie uns sagen, wir haben die beiden Zweige Meister und Basis Um den Di zu sehen fference zwischen diesen Zweigen, führen Sie einfach:

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

Dann sollten Sie Ihre voreingestellten Diff-Tool beginnen, in meinem Fall kdiff3. Oder Sie können auch die Option --tool verwenden, um eine andere zu starten: z. mit vimdiff

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

oder mit kdiff3 die gleiche Art und Weise

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