So prüfen Sie, ob ein Git-Zweig einen Remote-Zweig verfolgt

GitGitBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob ein lokaler Git-Zweig (Branch) einen Remote-Zweig verfolgt. Wir werden zwei Hauptmethoden untersuchen: die Verwendung des Befehls git branch -vv, um schnell die Verfolgungsinformationen anzuzeigen, und die Verwendung des Befehls git config, um die Upstream-Konfiguration zu überprüfen.

Anhand praktischer Beispiele werden Sie verstehen, wie Sie die Ausgabe dieser Befehle interpretieren und feststellen können, mit welchem Remote-Zweig Ihr lokaler Zweig verbunden ist, falls vorhanden. Wir werden auch kurz auf das Konzept der nicht verfolgenden Zweige (non-tracking branches) eingehen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/BranchManagementGroup -.-> git/branch("Handle Branches") subgraph Lab Skills git/config -.-> lab-560053{{"So prüfen Sie, ob ein Git-Zweig einen Remote-Zweig verfolgt"}} git/branch -.-> lab-560053{{"So prüfen Sie, ob ein Git-Zweig einen Remote-Zweig verfolgt"}} end

Ausführen von git branch -vv zur Prüfung der Verfolgung

In diesem Schritt lernen wir, wie Sie den Verfolgungsstatus Ihrer lokalen Zweige (Branches) mithilfe des Befehls git branch -vv prüfen können. Dieser Befehl ist sehr nützlich, um zu sehen, mit welchem Remote-Zweig Ihr lokaler Zweig verbunden ist, falls vorhanden.

Zunächst stellen wir sicher, dass wir uns in unserem Projektverzeichnis befinden. Öffnen Sie Ihr Terminal und navigieren Sie zum Verzeichnis my-time-machine:

cd ~/project/my-time-machine

Jetzt führen Sie den Befehl git branch -vv aus:

git branch -vv

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

* master a1b2c3d [origin/master] Send a message to the future

Lassen Sie uns diese Ausgabe analysieren:

  • * master: Das Sternchen (*) zeigt an, dass master Ihr aktuell aktiver Zweig ist.
  • a1b2c3d: Dies ist die kurze Version des Hash-Werts des neuesten Commits auf diesem Zweig.
  • [origin/master]: Dieser Teil sagt Ihnen, dass Ihr lokaler master-Zweig den master-Zweig in einem Remote-Repository namens origin verfolgt. Wir haben noch kein Remote hinzugefügt, aber Git zeigt Ihnen die potenziellen Verfolgungsinformationen.
  • Send a message to the future: Dies ist die Commit-Nachricht des neuesten Commits auf diesem Zweig.

Das Verständnis der Zweigverfolgung ist wichtig, insbesondere wenn Sie beginnen, mit anderen zu kollaborieren oder Ihren Code auf Plattformen wie GitHub hochzuladen. Es hilft Ihnen zu wissen, ob Ihr lokaler Zweig mit der Remote-Version aktuell ist und wohin Ihre Änderungen gehen, wenn Sie sie pushen.

In den nächsten Schritten werden wir untersuchen, wie Sie Upstream-Zweige einrichten und überprüfen können, also den Remote-Zweig, den Ihr lokaler Zweig verfolgt.

Verwenden von git config zur Überprüfung des Upstreams

Im vorherigen Schritt haben wir gesehen, dass git branch -vv [origin/master] angezeigt hat. Dies zeigt an, dass unser lokaler master-Zweig (Branch) so konfiguriert ist, dass er den master-Zweig in einem Remote-Repository namens origin verfolgt. Auch wenn wir noch kein Remote-Repository hinzugefügt haben, hat Git Standardkonfigurationen, die diese Verfolgungsbeziehung nahelegen.

Wir können diese Konfiguration mithilfe des Befehls git config überprüfen. Dieser Befehl ermöglicht es uns, Git-Konfigurationseinstellungen anzuzeigen und zu ändern.

Stellen Sie sicher, dass Sie sich immer noch im Verzeichnis ~/project/my-time-machine befinden.

Jetzt überprüfen wir die Konfiguration für das Remote-Repository unseres master-Zweigs:

git config branch.master.remote

Dieser Befehl fragt Git speziell nach dem Wert der remote-Einstellung für den master-Zweig.

Sie sollten die folgende Ausgabe sehen:

origin

Dies bestätigt, dass der master-Zweig so konfiguriert ist, dass er origin als Remote-Repository verwendet.

Als Nächstes überprüfen wir die Konfiguration für den Namen des Remote-Zweigs, den unser lokaler master-Zweig verfolgt:

git config branch.master.merge

Dieser Befehl fragt Git nach dem Wert der merge-Einstellung für den master-Zweig, die den Remote-Zweig angibt, der in den lokalen Zweig gemerged wird.

Sie sollten die folgende Ausgabe sehen:

refs/heads/master

Dies bestätigt, dass der master-Zweig so konfiguriert ist, dass er den master-Zweig im Remote-Repository verfolgt. refs/heads/master ist der vollständige Referenzname für den master-Zweig.

Die Verwendung von git config ist eine leistungsstarke Methode, um die detaillierten Einstellungen Ihres Git-Repositorys zu verstehen und zu verwalten, einschließlich der Interaktion zwischen Ihren lokalen Zweigen und Remote-Repositories.

Testen von nicht-verfolgenden Zweigen (Non-Tracking Branches)

In den vorherigen Schritten haben wir gesehen, wie unser master-Zweig (Branch) so konfiguriert ist, dass er einen Remote-Zweig verfolgt. Jetzt erstellen wir einen neuen lokalen Zweig, der keinen Remote-Zweig verfolgt, und schauen uns an, wie git branch -vv seinen Status meldet.

Stellen Sie sicher, dass Sie sich immer noch im Verzeichnis ~/project/my-time-machine befinden.

Zunächst erstellen wir einen neuen Zweig namens experiment:

git branch experiment

Dieser Befehl erstellt einen neuen Zweig namens experiment, wechselt aber nicht zu ihm.

Jetzt führen wir erneut git branch -vv aus, um den Status aller unserer lokalen Zweige zu sehen:

git branch -vv

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

* master    a1b2c3d [origin/master] Send a message to the future
  experiment a1b2c3d Send a message to the future

Beachten Sie den Unterschied in der Ausgabe für den experiment-Zweig im Vergleich zum master-Zweig. Der experiment-Zweig zeigt keine [origin/...]-Angabe hinter dem Commit-Hash an. Dies zeigt an, dass der experiment-Zweig ein lokaler Zweig ist, der derzeit keinen Remote-Zweig verfolgt.

Dies ist ein häufiges Szenario, wenn Sie lokal einen neuen Zweig für Experimente oder die Entwicklung einer neuen Funktion erstellen, bevor Sie entscheiden, ihn mit anderen in einem Remote-Repository zu teilen.

Sie können explizit einen Upstream-Zweig für einen lokalen Zweig festlegen, indem Sie git branch --set-upstream-to=<remote>/<remote-branch> <local-branch> verwenden. Allerdings ist es wichtig zu verstehen, dass nicht alle lokalen Zweige automatisch einen Remote-Zweig verfolgen.

Dies schließt unsere Untersuchung des Verfolgungsstatus von Zweigen ab. Sie haben gelernt, wie Sie git branch -vv und git config verwenden, um zu verstehen, wie Ihre lokalen Zweige so konfiguriert sind, dass sie mit Remote-Repositories interagieren.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man prüft, ob ein Git-Zweig (Branch) einen Remote-Zweig verfolgt. Wir haben den Befehl git branch -vv verwendet, um den Verfolgungsstatus der lokalen Zweige zu sehen und den verfolgten Remote-Zweig und das Remote-Repository zu identifizieren.

Wir haben auch untersucht, wie man den Befehl git config verwendet, um die Upstream-Konfiguration für einen Zweig zu überprüfen und zu bestätigen, welcher Remote-Zweig von einem lokalen Zweig verfolgt werden soll. Schließlich haben wir das Verhalten von nicht-verfolgenden Zweigen getestet, um zu verstehen, wie Git Zweige ohne explizite Upstream-Konfiguration behandelt.