Bist du neu in einem Team und wurdest angewiesen, einen Remote-Zweig aus dem Git-Code-Repository zu überprüfen? Ob Teil eines ausgedehnten Unternehmens oder eines kompakten Teams, das Beherrschen von Remote-Git-Zweigen ist entscheidend für eine reibungslose Code-Zusammenarbeit. In diesem Leitfaden tauchen Sie in den Prozess des Abrufens von Code aus einem Remote-Git-Repository ein und konzentrieren sich auf den Befehl ‚git checkout remote branch‘.
Not a reader? Explore this related video tutorial!
Not seeing the video? Ensure your ad blocker is disabled.
Voraussetzungen
- Dieses Tutorial verwendet Version 2.30 von Git SCM (Source Code Management) unter Windows 10, obwohl es mit jedem von Git unterstützten Betriebssystem kompatibel ist.
Andere mögliche Installationsmethoden für Windows sind Chocolatey und Git4Win.
- A remote Git repository from platforms like GitLab, GitHub, or Azure DevOps is required. This article provides sample repositories for a hands-on experience, or you can utilize your own.
Verständnis eines Remote-Zweigs
Git-Repositorys protokollieren und verfolgen eine Folge von zusammenhängenden Commits innerhalb eines Zweigs. Standardmäßig befindet sich ein Commit im aktuell aktiven Zweig, der normalerweise als ‚main‘ oder ‚master‘ bezeichnet wird.
A remote branch is a branch located in a remote Git repository. These remote repositories, termed as “remotes,” are the destinations your local Git repository will scout for external commit updates once set up.
Entdecken Sie verfügbare Branches mit dem Git branch
-Befehl. Der mit einem Stern (*
) markierte Branch ist der aktive. Die unten aufgeführten Branches sind ausschließlich lokal, da noch keine Remote-Branches abgerufen wurden.

git branch
command.Git-Remote-Branch Checkout meistern
Angenommen, Sie haben ein lokales Git-Repository und es entsteht die Notwendigkeit, mit anderen Entwicklern zusammenzuarbeiten. Hier kommt der Git-checkout
-Befehl ins Spiel, der es Ihnen ermöglicht, die neuesten Commits von einem Remote-Branch in einem entfernten Git-Repository abzurufen.
Sobald ein Remote-Branch konfiguriert ist, spiegelt Git den Remote-Branch anstelle eines nur lokalen Branches wider. Im Folgenden finden Sie ein Beispiel für den Befehl git checkout remote <branch>
.
Klonen Sie das Remote-Git-Repository
Jetzt, da ein vorhandenes Repository zur Verfügung steht, ist es an der Zeit, einzutauchen. Befolgen Sie die unten stehenden Schritte, um das Remote-Repository in einen lokalen Ordner auf Ihrem Rechner zu klonen.
1. Es ist oft einfacher, ein Remote-Repository über die HTTPS-URL anstelle von SSH zu klonen, um Zertifikats- und Firewall-Probleme zu umgehen.
- Gehen Sie zum Repository auf GitHub.
- Klicken Sie auf die Schaltfläche Code und wählen Sie HTTPS.
- Klicken Sie auf das Symbol Zum Clipboard neben dem Link, um die URL in Ihre Zwischenablage zu kopieren.

2. Nachdem Sie die HTTPS-URL in die Zwischenablage kopiert haben, öffnen Sie eine Befehlszeilenschnittstelle mit Ihrem bevorzugten CLI, wie z.B. die Windows-Befehlszeile oder das Windows Terminal.
3. Navigieren Sie zum Ordner, in dem das geklonte Repository liegen soll. Für dieses Tutorial wird der Ordner git im Benutzerverzeichnis verwendet, wie in den Screenshots dargestellt. Führen Sie den folgenden Befehl aus, um das Repository zu klonen, der einen Unterordner erstellt, der das entfernte Repository enthält.

4. Wechseln Sie mit dem Befehl cd git-checkout-remote-branch
zum geklonten Repository.
Führen Sie den folgenden Statusbefehl aus, um sicherzustellen, dass das Repository erfolgreich geklont wurde. Der Git status
Befehl zeigt die Unterschiede zwischen dem lokalen Branch und dem Remote-Branch an und hilft dabei festzustellen, ob Ihr Branch verbunden und aktualisiert ist! Der Standard-Git-Remote wird als origin
bezeichnet und dem main
Remote-Branch vorangestellt. git status

Für die meisten modernen Git-Software ist
main
der standardmäßige Hauptzweig. Es kann vorkommen, dass eine ältere Anwendungmaster
für ihren Standardzweig verwendet, aber beide Namen sind funktional gleichwertig. Dieses Tutorial verwendet Zweige mit den Namenmain
,RemoteBranch
,SomeBranch
undAnotherBranch
.
Was ist ein Git-Remote und wie kann man Remot-Zweige verfolgen?
Das Klonen eines Repositorys erstellt automatisch eine Referenz zu einer entfernten Quelle, die als Remote bezeichnet wird. Diese Referenz wird verwendet, um nach neuen Commits zu suchen oder neue Änderungen an das entfernte Repository zu übertragen.
A Git repository itself may have multiple remotes, but a branch can only reference a single remote.
Das Verfolgen eines Remote-Zweigs etabliert eine Beziehung zu einem lokalen Zweig. Diese Beziehung ermöglicht es Ihnen, Commits mühelos vom Remote-Zweig zum lokalen Zweig zu pushen oder zu pullen. Darüber hinaus bestimmt ein verfolgter Zweig, wie weit der lokale Zweig in Commits vor oder hinter dem Remote liegt.
Auflisten der Remotes eines Git-Repositorys
Zunächst stellen Sie sicher, dass das Repository, mit dem Sie arbeiten, irgendwelche Git-Remotes hat. Überprüfen Sie dies, indem Sie die Git-Remotes in Ihrem Repository mit dem Befehl git remote
wie unten gezeigt anzeigen. In diesem Fall werden zwei Remotes angezeigt, origin
und remote2
.

Zwei zusätzliche verfolgte Remote-Repositorys sind unter den Namen
origin
undremote2
aufgeführt, wobei Ihre Remotes unterschiedlich sein können.
Um mehr Details über die konfigurierten Remotes zu erhalten, fügen Sie den v
-Schalter hinzu, um die vollständige Git-Remote-URI anzuzeigen.

Sie fragen sich vielleicht, warum separate URIs für
fetch
undpush
verwendet werden. Einige Git-Workflows ermöglichen es Ihnen, nach Updates in einem Repository an einer anderen URI zu suchen als dort, wo Sie Änderungen senden, dies wird als das dreieckige Workflow bezeichnet.
Anzeigen verfügbarer Remote-Zweige
Zeigen Sie alle verfügbaren Zweige, sowohl lokal als auch remote, in Ihrem Repository mit dem Befehl branch
an. Um auch die Remote-Zweige anzuzeigen, fügen Sie den all
-Schalter hinzu, wie im folgenden Beispiel dargestellt.
Im Bild unten wird das entfernte Repository origin, das in diesem Tutorial verwendet wird, wie erwartet angezeigt. Dieses Bild lässt jedoch alle Zweige des Remotes mit dem Namen Remote2 aus.

Wenn ein Zweig auf Ihrem Remote in der Zweigliste nicht angezeigt wird, müssen Sie Ihre Liste der verfügbaren Remote-Zweige aktualisieren, wie im nächsten Abschnitt beschrieben.
Aktualisieren der verfügbaren Remote-Zweige
Manchmal kann ein entferntes Repository Zweige hinzufügen oder ändern. Um sicherzustellen, dass Sie mit den aktuellsten Zweigen arbeiten, ist es notwendig, den Befehl git fetch
auszuführen.
Der Befehl fetch
verbindet sich mit dem entfernten Repository und ruft eine Liste aller verfügbaren Branches ab. Überprüfen Sie nach Ausführung des Befehls git fetch
Ihre derzeit nachverfolgten Branches, um zu sehen, dass der entfernte Branch jetzt sichtbar ist, wie unten dargestellt.
Unten ist der Branch remotes/origin/RemoteBranch
nach Ausführung des Befehls git fetch
jetzt in der Liste der verfügbaren Remote-Branches sichtbar.

git fetch
to update the list of available remote branches.Der fetch
-Befehl überprüft nur Updates vom Remote, der derzeit im aktuellen Branch verfolgt wird. Um Git anzuweisen, nach Updates von allen Remotes im Repo zu suchen, unabhängig vom Verfolgungsstatus, fügen Sie den Parameter all
hinzu.
Um die verfügbaren Branches von einem bestimmten Remote abzurufen, fügen Sie den Remote-Namen in den git fetch
-Befehl ein, wie im folgenden Beispiel mit Remote2
, der den Branch main
abruft.

main
from remote2
with the git fetch
command.Jedes Mal, wenn Sie nach entfernten Updates mit
git fetch
,git pull
odergit push
suchen, vergleicht Git Commits mit dem entfernten Branch. Lokale Branches können jeden Git-Remote-Branch verfolgen. Darüber hinaus können mehrere lokale Branches auf denselben Remote-Branch eingestellt werden.
Ansicht des Remote-Trackings für jeden Branch
Um den verfolgten Remote-Branch neben dem entsprechenden lokalen Branch anzuzeigen, verwenden Sie den Parameter vv
mit dem Befehl git branch
. Die Befehlsausgabe zeigt eine Liste von Remotes und Branches im Format [<remote>/<branch>]
, wie unten dargestellt.

Ändern des Remote-Trackings eines Branches
Es kann notwendig sein, Ihren lokalen Branch zu ändern, um einen anderen Remote-Branch zu verfolgen. Verwenden Sie den Parameter u
, um Ihren aktuellen Branch auf einen bestimmten Remote-Branch einzustellen, wie unten dargestellt.

Überprüfung von Git-Remote-Branches
Mit neuen Branches, die im Remote-Git-Repository erstellt wurden, müssen Sie möglicherweise eine Git-Checkout-Remote-Branch-Operation durchführen. Das Auschecken eines Remote-Repository-Branches wird durch den checkout
-Befehl ausgeführt.
Wenn die folgenden Bedingungen erfüllt sind, wird Git autonom den richtigen Remote bestimmen, eine lokale Kopie des Remote-Zweigs herunterladen und die lokale Kopie so einstellen, dass sie gegen den Remote-Zweig verfolgt wird. Überprüfen Sie, ob die folgenden Bedingungen nicht durch die Ergebnisse des git branch --all
-Befehls erfüllt sind.
- A local branch with the same name does not already exist.
- Es existieren keine mehreren Remotes, die denselben Remote-Zweig-Namen verwenden.
Um die git checkout remote branch-Operation durchzuführen, verwenden Sie den git checkout
-Befehl und geben Sie den Namen des Remote-Zweigs wie unten angezeigt ein.

git checkout
.Wenn Ihr lokales Repository bereits einen lokalen Branch mit demselben Namen enthält, fügen Sie den Parameter b
hinzu, um einen alternativen lokalen Branch-Namen vor dem Remote-Branch zum Checkout anzugeben.

Wenn Ihr lokales Repository mehrere Remotes mit demselben Branch-Namen hat, geben Sie an, welchen Remote und Branch Sie lokal gegen lokale Commits verfolgen möchten.

Zukünftige Versionen von Git könnten möglicherweise bevorzugen, dass Sie den Befehl
git switch
zum Ändern und Erstellen von Branches verwenden. Der Gitswitch
-Befehl gilt nur für Branches, während der Git checkout-Befehl viele Fähigkeiten hat. Irshad S. hat eine schöne Einführung in die Begründung geschrieben, wenn Sie mehr darüber lesen möchten.
Ein lokaler Branch auf einen Remote pushen
Bei der Erstellung eines lokalen Zweigs ohne einen entsprechenden Remote-Zweig zur Verfolgung können Sie den Zweig mithilfe des Befehls git push
auf den Remote-Zweig verschieben. Die einfachste Methode zum Erstellen eines neuen Zweigs auf Ihrem bevorzugten Remote besteht darin, den Parameter u
zu verwenden.
Der Parameter u
, wie zuvor verwendet, erfordert die Argumente des Repository-Namens und des Quellzweig-Namens. Durch die ausschließliche Angabe von HEAD
als Quellzweig-Namen versteht Git, den aktuellen lokalen Zweignamen als Namen auf dem Remote zu verwenden, in diesem Fall NewBranch
.

HEAD
ist eine Abkürzung, die einfach den aktuellen Zweig bedeutet. Sie können andere Zweige unter Verwendung ihres Namens anstelle vonHEAD
auf den Remote verschieben und die Verfolgung einrichten.
Manchmal stimmt der Name des aktuellen lokalen Zweigs nicht mit dem Namen des Remote-Zweigs überein. Um einen anderen Namen zu verwenden, geben Sie nach dem Quellzweig den gewünschten Zweignamen an, verbunden durch einen Doppelpunkt, wie unten gezeigt.

Nächste Schritte und zusätzliche Git-Ressourcen
Nachdem Sie die Grundlagen von Git, das Verwalten von Remotes und das Ausführen von Git Checkout Remote Branch überprüft haben, sind Sie nun mit einem reichen Wissensschatz ausgestattet, der dabei helfen wird, zukünftige Frustrationen zu vermeiden. Die Schritte zum Auschecken eines Remote-Branches in Git und die geteilten bewährten Methoden werden sich als unschätzbare Ressourcen für die Zukunft erweisen.
Sollten Sie tiefer in andere Aspekte der Verwaltung eines Git-Repositorys eintauchen wollen, werden die folgenden Ressourcen sehr empfohlen:
- A primer on detached heads: Discover scenarios where a detached HEAD is beneficial or inadvertent, and how to handle it.
- Git Switch: Ein Befehl, der sich ausschließlich mit Branches befasst, im Gegensatz zu dem vielseitigen Git
checkout
.
Source:
https://adamtheautomator.com/git-checkout-remote-branch/