Verwendung:
git diff 15dc8^!
wie in dem folgenden Fragment von git-rev-parse(1) man-Seite (oder in modernem Git gitrevisions(7) Manpage):
Zwei weitere Abkürzungen für die Benennung einer Menge, die aus einer Übergabe und ihrer Eltern-Commits besteht. Die Schreibweise r1^@ steht für alle Eltern von r1. r1^! schließt Commit r1 ein, schließt aber alle seine Eltern aus.
Dies bedeutet, dass Sie Folgendes verwenden können 15dc8^!
als Abkürzung für 15dc8^..15dc8
überall in Git, wo Revisionen erforderlich sind. Für die diff Befehl, der git diff 15dc8^..15dc8
wird verstanden als git diff 15dc8^ 15dc8
, d.h. die Differenz zwischen dem Elternteil der Übergabe ( 15dc8^
) und festlegen ( 15dc8
).
Nota : die Beschreibung in git-rev-parse(1)
Manpage spricht über Revision Bereiche , wo es auch für Merge-Commits mit mehr als einem Parent funktionieren muss. Dann r1^!
ist " r1 --not r1^@
" d.h. " r1 ^r1^1 ^r1^2 ...
"
Sie können auch Folgendes verwenden git show COMMIT
um die Commit-Beschreibung und den Diff für einen Commit zu erhalten. Wenn Sie nur den Diff benötigen, können Sie git diff-tree -p COMMIT
.
0 Stimmen
Das Coolste daran wäre, dass dies mit "git difftool" funktionieren würde, indem man die Werkzeuge verwendet, um den Unterschied anzuzeigen.
0 Stimmen
Die Antwort auf die andere Frage zeigt, wie Sie einen Bash-basierten Alias einrichten können, um die obigen Schritte zu vereinfachen: stackoverflow.com/questions/3321492/