2010-07-29 5 views
9

>>git difftool branch1 branch2 öffnet mein difftool (Beyond Compare: BC) mit jeder Datei, die einen Unterschied zwischen den Zweigen hat. Ich muss BC nach jeder Datei schließen, nur um sie mit der nächsten Datei wieder zu öffnen.Getting Beyond Vergleich zu Diff 2 Branches gleichzeitig

BC kann ganze Verzeichnisse und mehrere Dateien unterscheiden.

Gibt es eine Möglichkeit, git difftool zu öffnen, um alle Dateien gleichzeitig zu öffnen, oder die gesamte Struktur gleichzeitig zu differieren?

+0

Verwenden Sie Version 3.0? Ich frage nur, weil das eine Tabbed-Schnittstelle hat. – NinjaCat

+0

Ja, ich bin. Ich möchte, dass es zum Beispiel alle diff-Dateien auf den Registerkarten oder in dem verglichenen Verzeichnisstruktur-Modus anzeigt. –

Antwort

13

Beginnend mit git v1.7.11 können Sie git difftool --dir-diff verwenden, um ein Verzeichnis diff durchzuführen.

Die folgende Antwort bezieht sich auf Git-Installationen älter als v1.7.11.


Dieses Problem bezieht sich nicht auf BC, sondern auf die Funktionsweise von git. Glücklicherweise gibt es eine Lösung in dieser URL ist - git-diffall

+0

Tatsächlich ist es ein Git-Problem. Ich habe es versucht, aber ich konnte es unter Windows nicht richtig ausführen. Das Skript lief gut (in der Bash-Shell) und BC wird an der richtigen Stelle geöffnet, aber die tmp-Dateien scheinen nicht zu existieren. –

+0

Am Ende habe ich mich für diese http://goo.gl/YPd2s entschieden. Es wurde von dem Link aus verlinkt, den Sie gesendet haben. So danke! –

+0

lustig läuft es gut für mich auf Windows und OSX –

7

I these commands to set Beyond Compare 4 verwendet (trotz der bc3 Sie in ihnen sehen) als diff/merge Werkzeuge:

git config---global diff.tool bc3
git config---global difftool.bc3.path "C:/Programme/Beyond Compare 4/bcomp.exe"

git config---global merge.tool bc3
git config---global mergetool.bc3.path "C:/Programme/Beyond Compare 4/bcomp.exe"

Dann verglich ich zwei Zweige wie diese, wobei "oldbranchname" und "newbranchname" die Namen der beiden Zweige sind, die ich vergleichen wollte.

git difftool -d --tool = bc3 oldbranchname newbranchname

ich die Ordneransicht, als ob ich zwei Ordner verglichen mit unvergleichbar. Das einzige Bemerkenswerte ist, dass es im Vergleich keine identischen Dateien zeigt, aber das hat mich nicht gestört.

+1

Ja, die '-d' Option macht den Trick, ist es äquivalent zu' --dir-diff' was funktioniert. –

+1

Auf einem Mac fand ich, dass ich die Option ändern musste, um Symlinks zu folgen –

Verwandte Themen