Ich möchte einen bestimmten Commit in Beyond Compare oder einem anderen separaten Diff-Tool sehen, während ich ihn über anschaue git show. Ich habe versucht, in der Hilfe von git show/difftool/config nachzusehen, konnte aber nichts finden. Weiß jemand, wie es gemacht werden kann?
Ich habe mir Git Diff mit Beyond Compare angesehen und Beyond Compare für konfiguriert git difftool aber ich will es auch als tool aus nutzen git show
Manisch
Ich habe es geschafft zu verwenden git difftool um Commits zu sehen, die ich normalerweise über gesehen habe git show.
git show $commit wird übersetzt in git difftool $commit^ $commit.
Der obige Befehl zeigt den Unterschied zwischen dem übergeordneten Commit ($commit^) und commit. All dies ist natürlich nach der Konfiguration von Beyond Compare mit difftool.
git show $commit ist nicht gleichbedeutend mit git difftool $commit^ $commit wenn wir einen Merge-Commit überprüfen. git show präsentiert den Merge-Commit in einem speziellen Format, wie es von produziert wird git diff-tree --cc $commit. Sehen git-scm.com/docs/git-show
– Abdel Rauf
18. Juli 2018 um 5:51 Uhr
Javabrett
Sie können auch einen Alias ”showtool” erstellen, um den Aufruf zu umbrechen git difftool:
.. als Abkürzung für git difftool 81e945b~1 81e945b um die Änderungen anzuzeigen, die in eingeführt wurden 81e945b mit dem konfigurierten Difftool oder im zweiten Fall git difftool HEAD~1 HEAD
Danke, das habe ich gesucht. Ich habe es so erweitert, dass es auch ohne Parameter funktioniert, wie es git show tut: set +o histexpand; git config –global alias.showtool “!sh -c ‘if [ -z \$1 ]; dann REVISION=”HEAD”; sonst REVISION=”\$1″; fi; git difftool \$REVISION~ \$REVISION\’ -“
– Tomáš Diviš
7. November 2013 um 12:25 Uhr
Danke Tomáš, ich mag diese Erweiterung und habe sie übernommen und die obige Lösung bearbeitet. Ich habe einen verirrten Backslash in Ihrem Code gefunden, den letzten vor dem schließenden ‘, also überprüfen Sie ihn bitte.
– Javabrett
11. November 2013 um 2:47 Uhr
Ich habe das weiter ausgebaut git-showtool-Repo um Befehle wie zu unterstützen $ git showtool -y :/my\ commit\ message
– Albfan
28. Dezember 2014 um 19:47 Uhr
Sobald Sie ein Diff-Tool wie das fantastische p4merge eingerichtet haben, können Sie Folgendes tun:
git diff HEAD HEAD~1
Klappt wunderbar.
Wenn Sie den Commit vorher sehen möchten, können Sie Folgendes tun:
git diff HEAD~1 HEAD~2
Das hat für mich gut funktioniert, um den Diff des letzten Commits zu zeigen
git difftool HEAD~ HEAD
Für andere Commits können Sie ersetzen HEAD mit Commit-Hash zB:
git difftool 1234ABCD~ 1234ABCD
Francisco Pugas
Ich denke, dass git show auf dem Werkzeugsatz in der GIT_PAGER-Variablen basiert. Ich verwende Beyond Compare nicht, aber ich denke, dass Sie so etwas versuchen können:
$ GIT_PAGER='bc3' git show <whatever>
Vielleicht sollten Sie die GIT_PAGER-Variable mit einigen zusätzlichen Parametern füllen, die es bc3 ermöglichen, die Eingabe zu verarbeiten.
Es gibt geeignetere Möglichkeiten, den Pager zu persistieren. Diese Frage kann Ihnen weitere Tipps dazu geben.
Vielen Dank. Ich probiere es aus und gebe Bescheid.
– Manisch
23. September 2011 um 5:24 Uhr
Albfan
Basierend auf der Antwort von @javabrett, die ich erstellt habe