Verwenden von Commit-Bereichen mit Git Log
Wenn Sie Festschreibungsbereiche wie ..
und ...
mit verwenden git log
, besteht der Unterschied zwischen diesen darin, dass für die Zweige A und B
git log A..B
zeigt Ihnen alle Commits, die B hat, die A nicht hat , während
git log A...B
zeigt Ihnen sowohl die Commits, die A hat und die B nicht hat, als auch die Commits, die B hat, die A nicht hat, oder mit anderen Worten, es filtert alle Commits heraus, die sowohl A als auch B gemeinsam haben. Dadurch werden nur die Commits angezeigt, die nicht beide gemeinsam nutzen .
Visualisierung mit Venn-Diagrammen und Commit-Bäumen
Hier ist eine visuelle Darstellung von git log A..B
. Die Commits in Zweig B, die in A nicht vorhanden sind, werden vom Commit-Bereich zurückgegeben und im Venn-Diagramm rot hervorgehoben und im Commit-Baum blau eingekreist:
Dies sind die Diagramme für git log A...B
. Beachten Sie, dass die Commits, die von beiden Zweigen gemeinsam genutzt werden, vom Befehl nicht zurückgegeben werden:
Machen die Triple-Punkt - Commit - Strecke ...
Mehr Nützliche
Sie können den Triple-Dot-Commit-Bereich ...
in einem Protokollbefehl nützlicher machen, indem Sie die --left-right
Option verwenden, um anzuzeigen, welche Commits zu welchem Zweig gehören:
$ git log --oneline --decorate --left-right --graph master...origin/master
< 1794bee (HEAD, master) Derp some more
> 6e6ce69 (origin/master, origin/HEAD) Add hello.txt
In der obigen Ausgabe sehen Sie, dass den zugehörigen Commits ein master
Präfix vorangestellt ist <
, während den zugehörigen Commits ein origin/master
Präfix vorangestellt ist >
.
Verwenden von Commit-Bereichen mit Git Diff
Eines Tages könnte ich meine eigene Erklärung hinzufügen, wie die Festschreibungsbereiche funktionieren git diff
, aber im Moment möchten Sie vielleicht herausfinden, was die Unterschiede zwischen Doppelpunkt ".." und Dreifachpunkt "..." in Git diff-Festschreibung sind Bereiche? .
Siehe auch