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-rightOption 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 masterPräfix vorangestellt ist <, während den zugehörigen Commits ein origin/masterPrä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