Identifizieren Sie den jüngsten gemeinsamen Vorfahren für zwei Branches in Git

John Wachira 15 Februar 2024
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.

gemeinsamer Vorfahr für zwei Branches

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:

git merge-base

Wir können den folgenden Befehl für ein visuelles Protokoll verwenden.

$ git log --graph --oneline --all --decorate

Sie sollten so etwas bekommen:

visuelles Protokoll

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 Wachira avatar John Wachira avatar

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

Verwandter Artikel - Git Merge