Commit-Historie für einen Branch mit Git Log with Range anzeigen
-
Git Commit History for Branch mit
git log
und erweiterten Begrenzungsoptionen -
Git-Commit-Verlauf für Branch mit der Doppelpunkt-Syntax
<branch1>..<branch2>
-
Nützliche Abkürzung Mit
git log
, um ein paar Zeichen weniger einzugeben, um den Git-Commit-Verlauf für Branch anzuzeigen -
Hilfreiche Option, um nur die letzten paar Commits zu sehen Mit
log
zu Git Show Commits on Current Branch Only -
Git-Commit-Verlauf für Branch mit dem Caret-Operator
^
-
Git-Commit-Verlauf für Branch mit der Option
--not
- Ressourcen
Das git log
hat viele einschränkende Optionen, um eine Teilmenge von Commits aus Ihrem Repository-Verlauf zu erhalten. Wir demonstrieren, wie git log
mit range
unter Verwendung von Doppelpunkt-Syntax, Caret-Operator ^
, --not
-Option und mehreren Abkürzungen uns dabei helfen, den git commit
-Verlauf nur für Branch anzuzeigen.
Git schöpft seine Kraft aus diesem reichhaltigen Revisionsabfragesystem, das es Benutzern ermöglicht, ihre Branches zu verwalten und mit ihnen effiziente Workflows zu entwickeln.
Git Commit History for Branch mit git log
und erweiterten Begrenzungsoptionen
Git-Repositories können mit langen Commit-Verläufen groß werden. Das Anzeigen des vollständigen Verlaufs ist in solchen Fällen nicht sehr hilfreich.
Der Befehl git log
bietet uns viele nützliche Optionen, um nur die Teilmenge von Commits aus dem Repository-Verlauf zu extrahieren, die wir brauchen.
git log [formatting options] [limiting options]
Die [formatting options]
lassen uns verschiedene Informationen über unsere Commits anzeigen, während [limiting options]
uns dabei helfen, die Commits auszuwählen, die wir sehen möchten.
Wenn wir die richtigen Bereichswerte in diesen Einschränkungsoptionen angeben, können wir Commits auf dem aktuellen Zweig git show
.
Git-Commit-Verlauf für Branch mit der Doppelpunkt-Syntax <branch1>..<branch2>
Die Doppelpunkt-Syntax zeigt die Commits, die wir von branch2
erreichen können, aber nicht von branch1
.
Angenommen, wir erstellen einen neuen experiment_branch
aus master
. Dann verpflichten wir uns zu diesen beiden Zweigen, fusionieren aber noch nicht.
Wenn wir jetzt ein nacktes git log
auf experiment_branch
machen, zeigt es die vollständige Historie, einschließlich der Commits, die wir an master
vorgenommen haben, noch bevor wir experiment_branch
erstellt haben.
Dies ist kein sehr hilfreiches Verhalten. Ein häufiger Anwendungsfall ist, wenn wir nur die nicht zusammengeführten Commits auf experiment_branch
sehen wollen.
Das machen wir mit folgendem Befehl.
git log master..experiment_branch
Alle Commits sind über experiment_branch
erreichbar, aber nicht über master
(im Wesentlichen alle nicht zusammengeführten Commits auf dem experimentellen Zweig).
Wir könnten auch die Reihenfolge der Zweige für den umgekehrten Fall umdrehen, um den Zustand des master
zu sehen, in den wir unseren experiment_branch
zusammenführen werden.
Unser master
sieht so aus:
Wenn wir es tun:
git log experiment_branch..master
Wir sehen nur die neuen Commits auf master
, nachdem wir unseren experimentellen Zweig erstellt haben.
Nützliche Abkürzung Mit git log
, um ein paar Zeichen weniger einzugeben, um den Git-Commit-Verlauf für Branch anzuzeigen
Wenn wir keinen der beiden Zweige in der Doppelpunkt-Syntax bereitstellen, setzt Git sie standardmäßig auf HEAD
.
Wir können dies mit einer intelligenten Wahl von git checkout
nutzen, um unseren git log
-Befehl zu verkürzen.
Zunächst wechseln wir in unseren experimentellen Zweig.
git checkout experiment_branch
Nun zeigt der HEAD
auf experiment_branch
.
Wir verwenden jetzt die Kurzform der Double-Dot-Range-Syntax und lassen den rechten Verzweigungsoperanden weg.
git log master..
Git setzt den rechten Branch standardmäßig auf den aktuellen HEAD
, unseren experiment_branch
, und wir erhalten denselben Verlauf nur der nicht zusammengeführten Commits wie oben.
Hilfreiche Option, um nur die letzten paar Commits zu sehen Mit log
zu Git Show Commits on Current Branch Only
Unser experiment_branch
könnte eine lange Geschichte mit vielen nicht zusammengeführten Commits haben.
In einem solchen Fall möchten wir möglicherweise nur die letzten paar Commits sehen.
git log -2 master..
Die Option -2
zeigt nur die letzten 2 Commits aus unserer ausgewählten Teilmenge des Verlaufs an.
Git-Commit-Verlauf für Branch mit dem Caret-Operator ^
Der Caret-Operator ^
schließt alle Commits aus, die von der Verzweigung aus erreichbar sind, auf der er operiert. Wir können dies verwenden, um nur die Geschichte unserer aktuellen Branche anzuzeigen.
git log ^master experiment_branch
Git-Commit-Verlauf für Branch mit der Option --not
Dasselbe Ergebnis können wir auch mit der Option --not
vor einem Zweignamen erzielen. Dies schließt alle Commits aus, die von diesem Zweig aus erreichbar sind.
git log experiment_branch --not master
Wir sehen, dass es dasselbe tut und nur die nicht zusammengeführten Commits in unserem experiment_branch
anzeigt.
Ressourcen
- https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
- https://rakhesh.com/coding/git-view-the-commit-log-of-a-remote-branch/
- https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
- https://stackoverflow.com/questions/14889017/how-to-show-local-branch-history#14889649
- https://stackoverflow.com/questions/16974204/how-to-get-commit-history-for-just-one-branch