2010-03-17 4 views
16

Gibt es eine einfache Möglichkeit, den Dateibaum eines alten Git-Commits mit dem Arbeitsbaum in meld zu vergleichen?git-difftool: vollständige Dateibaum vergleichen mit Meld?

git-difftool macht etwas sehr ähnliches, aber ich möchte nicht, dass es tatsächlich Diffing macht; Der springende Punkt ist, dass das Tool, das es aufruft, eine bessere Schnittstelle dafür bieten kann.

+1

siehe auch [allgemeinere Version] (http://stackoverflow.com/questions/1220309/git-difftool-open-all-diff-files-immediately-not- in-serial) dieser Frage –

Antwort

9

Ich habe dies auf einer aktuellen Version von Meld getestet und es ist jetzt eingebaut. Sie können es mit Meld <Verzeichnispfad> so "Meld." funktioniert für das aktuelle Verzeichnis. Du kannst eine Version git co [version] auschecken, dann git reset [version]^und dann "meld" ausführen. um eine Version mit der vorherigen Version zu vergleichen.

6

Ich fand dieses Problem auch ärgerlich, also habe ich git meld gemacht, was eine bequemere Art erlaubt, willkürliche Commits gegen den funktionierenden Baum oder den Staging-Bereich zu diffundieren. Sie finden es unter https://github.com/wmanley/git-meld.

+2

Was ist der Unterschied zwischen Git-Meld und https://github.com/thenigan/git-diffall? Ich habe beides versucht und hatte den Eindruck, dass die Funktionalität identisch ist. – kynan

+0

@kynan: Kann man mit git-meld nicht das Verzeichnis diff UI von meld verwenden, um die Änderungen in einem Commit anzuzeigen, während git-diffall alle Diffs (in der diff UI) öffnen würde? – idbrii

+0

@pydave afaics überprüfen beide die Bäume der 2 Revisionen zu diff in temporäre Verzeichnisse und starten dann ein Verzeichnis diff auf denen - kein Unterschied gibt. – kynan

23

Mit git > 1.7.11 unterstützt der Befehl git difftool jetzt das vollständige Verteilen von Verzeichnissen mit dem Befehl --dir-diff. Dies kann zusammen mit meld verwendet werden:

$ git difftool --tool=meld --dir-diff [commit-to-diff-against] 
+0

Dies sollte die akzeptierte Antwort sein. – melloc