Identifizieren Sie den jüngsten gemeinsamen Vorfahren für zwei Branches in Git
Dieser Artikel veranschaulicht, wie wir den letzten gemeinsamen Vorfahren-Commit in Git finden können. Dies ist praktisch, wenn Sie einen Zweig erstellen oder mit einem anderen zusammenführen.
Kommen wir ohne weiteres zur heutigen Tagesordnung.
Identifizieren Sie den jüngsten gemeinsamen Vorfahren für zwei Branches in Git
Was ist ein gemeinsamer Vorfahr für zwei Branches in Git?
Schauen Sie sich das Bild unten an.
In der obigen Abbildung haben wir den Haupt
-Zweig, in dem wir einen feature
-Zweig und einen Neue Funktion
-Zweig vom feature
-Zweig erstellt haben. Lassen Sie uns den main
-Zweig abschaffen und uns auf die feature
- und new-feature
-Zweige konzentrieren.
Wir können sehen, dass wir den new-feature
-Zweig nach dem bd9172c
-Commit erstellt haben. Wie Sie vielleicht schon erraten haben, ist der Commit bd9172c
unser jüngster gemeinsamer Vorfahre für die Zweige feature
und main
.
Wie finden wir also den jüngsten gemeinsamen Vorfahren der beiden Zweige?
Alles, was Sie brauchen, ist der Befehl git merge-base
. Aus der Git-Dokumentation hilft uns der Befehl git merge-base
, den besten gemeinsamen Vorfahren für einen git merge
zu finden.
Wir können jedoch zwei Zweige als Argument eingeben, um den jüngsten gemeinsamen Vorfahren für die bereitgestellten Zweige anzuzeigen.
Syntax:
$ git merge-base <Branch 1> <Branch 2>
Schauen wir uns ein Beispiel an.
Das folgende Beispiel zeigt die Zweige master
und feature
unseres lokalen Repositorys. Um den gemeinsamen Vorfahren zwischen den beiden zu finden, führen wir den Befehl git merge-base
aus, wie unten gezeigt.
$ git merge-base master feature
Dieser Befehl sollte den Commit-Hash für den gemeinsamen Vorfahren anzeigen.
Ausgang:
Wir können den folgenden Befehl für ein visuelles Protokoll verwenden.
$ git log --graph --oneline --all --decorate
Sie sollten so etwas bekommen:
Wir können sehen, dass unser feature
-Zweig vom master
beim 2dbe38d
-Commit abgespalten wurde, was derselbe Commit-Hash ist, den wir zuvor durch Ausführen des Befehls git merge-base
erhalten haben.
Sie können den neuesten gemeinsamen Ancestor-Commit für zwei Zweige in Git finden, indem Sie den Befehl git merge-base
verwenden, während Sie die vorhandenen Zweige einspeisen. Beachten Sie, dass dieser Befehl nur den jüngsten gemeinsamen Vorfahren abruft.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn