Es ist mir gelungen, git dazu zu bringen, Beyond Compare 3 als Diff-Tool zu starten. Wenn ich jedoch ein Diff mache, wird die Datei, mit der ich vergleiche, nicht geladen. Es wird nur die neueste Version der Datei geladen und nichts anderes, sodass sich im rechten Bereich von Beyond Compare nichts befindet.
Ich verwende git 1.6.3.1 mit Cygwin mit Beyond Compare 3. Ich habe unvergleichlich eingerichtet, wie sie im Support-Teil ihrer Website mit einem Skript wie dem folgenden vorschlagen:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
Hat jemand anderes auf dieses Problem gestoßen und kennt eine Lösung dafür?
Bearbeiten:
Ich bin den Vorschlägen von VonC gefolgt, habe aber immer noch genau das gleiche Problem wie zuvor. Ich bin ein bisschen neu bei Git, also benutze ich das Diff vielleicht nicht richtig.
Zum Beispiel versuche ich, das Diff in einer Datei mit einem Befehl wie dem folgenden zu sehen:
git diff main.css
Beyond Compare wird dann geöffnet und zeigt nur meine aktuelle main.css im linken Bereich an. Im rechten Bereich befindet sich nichts. Ich möchte, dass meine aktuelle main.css im linken Bereich im Vergleich zum HEAD angezeigt wird, im Grunde das, was ich zuletzt festgelegt habe.
Meine git-diff-wrapper.sh sieht so aus:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
Meine Git-Konfiguration sieht für Diff folgendermaßen aus:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
quelle
/c/program files
stattdessen einen Pfad im Linux-Stil verwendenc:/program files
. Auch ich habe das entfernt"$(cygpath -w $LOCAL)"
und gerade benutzt"$LOCAL"
. Das schien den Trick zu tun.bcompare: command not found
- bis ich den NAMEN des Tools vonbc3
etwas anderem (wieabc3
) änderte . Ich denke, dass einige interne Github-Einstellungen gestört haben. Außerdem habe ich das"$(cygpath -w $LOCAL)"
Teil entfernt und durch ersetzt"$LOCAL"
. Jetzt funktioniert es gut. Vielen Dank!Vielen Dank an @dahlbyk , den Autor von Posh-Git , für die Veröffentlichung seiner Konfiguration als Kern . Es hat mir geholfen, mein Konfigurationsproblem zu lösen.
quelle
cmd = 'C:\\Program Files\\Beyond Compare 4\\BCompare.exe' \"$LOCAL\" \"$REMOTE\"
Führen Sie diese Befehle für Beyond Compare 2 aus:
Führen Sie diese Befehle für Beyond Compare 3 aus:
Dann benutze
git difftool
quelle
Note: Use bc3 on the command line for both BC version 3 and 4
Die offizielle Dokumentation hat bei mir funktioniert
quelle
Hier ist meine Konfigurationsdatei. Es hat ein bisschen Wrestling gekostet, aber jetzt funktioniert es. Ich verwende Windows Server, msysgit und darüber hinaus Vergleich 3 (anscheinend eine x86-Version). Sie werden feststellen, dass ich keine Argumente angeben muss und "Pfad" anstelle von "cmd" verwende.
quelle
Die Support-Seite von Beyond Compare ist etwas kurz.
Überprüfen Sie meine diff.externe Antwort für mehr (bezüglich der genauen Syntax)
Extrakt:
Hinweis: Sie können auch verwenden
git difftool
.quelle
Es sieht so aus, als ob BC3 nur die 3-Wege-Zusammenführung für die PRO Edition unterstützt. http://www.scootersoftware.com/moreinfo.php?zz=kb_editions
quelle
Bitte beachten Sie, dass Sie einen falschen Weg von 2 US-Dollar eingeschlagen haben. Da Sie sich unter Cygwin befinden, BC3 jedoch nicht, sollten Sie einen vollständigen Pfad dafür angeben. wie "d: / cygwin $ 2"
Bitte beziehen Sie meine git-diff-wrapper.sh hier:
Viel Glück.
quelle
bcompare.exe $(cygpath -w $2)
. Prost.Wenn Sie Windows 7 (Professional) und Git für Windows (Version 2.15 oder höher) ausführen, können Sie einfach den folgenden Befehl ausführen, um herauszufinden, welche verschiedenen Diff-Tools von Ihrem Git für Windows unterstützt werden
Sie sehen eine ähnliche Ausgabe
Es bedeutet, dass Ihr Git derzeit kein unvergleichliches Difftool unterstützt (nicht finden kann).
Damit Git unvergleichbar als gültige difftool zu finden, sollten Sie darüber hinaus Installationsverzeichnis vergleichen in Ihrem System Pfadumgebungsvariable. Sie können dies überprüfen, indem Sie bcompare über die Shell ausführen (cmd, git bash oder Powershell. Ich verwende Git Bash). Wenn Beyond Compare nicht gestartet wird, fügen Sie das Installationsverzeichnis (in meinem Fall C: \ Programme \ Beyond Compare 4) zu Ihrer Systempfadvariablen hinzu. Starten Sie danach Ihre Shell neu. Git zeigt Beyond Compare als mögliche Difftool-Option an. Sie können einen der folgenden Befehle verwenden, um über den Vergleich hinaus als Difftool zu starten (z. B. um eine lokale Datei mit einem anderen Zweig zu vergleichen).
Sie können unvergleichlich als Standard-Difftool konfigurieren, indem Sie die folgenden Befehle verwenden
ps Denken Sie daran, dass bc im obigen Befehl bc3 oder bc sein kann, je nachdem, was Git aus Ihrer Pfadsystemvariablen finden konnte.
quelle
Update für BC4 64bit: Dies funktioniert für Git für Windows v.2.16.2 und darüber hinaus Compare 4 - v.4.2.4 (64bit Edition)
Ich habe die .gitconfig-Datei in meinem Benutzerstamm "C: \ Users \ MyUserName" manuell bearbeitet und die Tags diff / difftool und merge / mergetool durch ersetzt
quelle
http://rubenlaguna.com/wp/2010/08/05/visual-difftool-cygwin-git/ hat eine Lösung, die ich für BeyondCompare übernommen habe: http://gist.github.com/564573
quelle
Der Unterschied besteht in der aufgerufenen Exe: Richten Sie sie so ein, dass sie bcomp.exe aufruft, und es funktioniert einwandfrei. Wenn Sie Ihre Umgebung so konfigurieren, dass sie bcompare.exe aufruft, ist die Seite des Vergleichs aus Ihrem Revisionssystem leer.
quelle
Führen Sie diese Befehle für Beyond Compare 3 aus (wenn sich der Pfad BCompare.exe in Ihrem System unterscheidet, ersetzen Sie ihn bitte gemäß Ihrem):
Dann benutze
git difftool
quelle
Windows 10, Git v2.13.2
Meine .gitconfig. Denken Sie daran, ein Escape-Zeichen für '\' und '"' hinzuzufügen.
Sie können die unvergleichliche Einrichtung als Difftool für die Verwendung von Git-Befehlen zum Konfigurieren verwenden.
quelle
Aus irgendeinem Grund wurde für mich die von git diff erstellte tmp-Datei gelöscht, bevor sie unvergleichlich geöffnet wurde. Ich musste es zuerst an einen anderen Ort kopieren.
quelle
Für MAC hat es nach vielen Recherchen bei mir funktioniert ..! 1. Installieren Sie das Beyond Compare und dieses wird an der folgenden Stelle installiert
Befolgen Sie diese Schritte, um bc als Diff / Merge-Tool in git http://www.scootersoftware.com/support.php?zz=kb_mac zu erstellen
quelle
Für Git Version 2.15.1.windows.2 mit BC2.exe.
Die Konfiguration unten funktioniert endlich auf meinem Computer.
[difftool "bc2"] cmd = \"c:/program files/beyond compare 2/bc2.exe\" ${LOCAL} ${REMOTE}
quelle