Commit-Historie für einen Branch mit Git Log with Range anzeigen

Ankit Raj Goyal 30 Januar 2023
  1. Git Commit History for Branch mit git log und erweiterten Begrenzungsoptionen
  2. Git-Commit-Verlauf für Branch mit der Doppelpunkt-Syntax <branch1>..<branch2>
  3. Nützliche Abkürzung Mit git log, um ein paar Zeichen weniger einzugeben, um den Git-Commit-Verlauf für Branch anzuzeigen
  4. Hilfreiche Option, um nur die letzten paar Commits zu sehen Mit log zu Git Show Commits on Current Branch Only
  5. Git-Commit-Verlauf für Branch mit dem Caret-Operator ^
  6. Git-Commit-Verlauf für Branch mit der Option --not
  7. Ressourcen
Commit-Historie für einen Branch mit Git Log with Range anzeigen

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.

Commits auf Master vor dem Experiment

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).

Git-Commit-Verlauf für Branch-Doubledot-Syntax

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:

master neue Übertragungen nach dem Experiment

Wenn wir es tun:

git log experiment_branch..master

Wir sehen nur die neuen Commits auf master, nachdem wir unseren experimentellen Zweig erstellt haben.

neue Commits - Hauptzweig doppelter Punkt

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.

git Kurzform Doppelpunkt

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.

experimentieren lange Geschichte viele nicht zusammengeführte Commits

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.

zeigt nur die letzten Commits im Verlauf

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

Commit-Verlauf für Branch Caret anzeigen

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.

Show Commit History for Branch not Option

Ressourcen

  1. https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
  2. https://rakhesh.com/coding/git-view-the-commit-log-of-a-remote-branch/
  3. https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History
  4. https://stackoverflow.com/questions/14889017/how-to-show-local-branch-history#14889649
  5. https://stackoverflow.com/questions/16974204/how-to-get-commit-history-for-just-one-branch

Verwandter Artikel - Git Commit