So checken Sie einen Remote-Git-Zweig aus

Veröffentlicht: 2023-01-23
Linux-Laptop mit einer Bash-Eingabeaufforderung
fatmawati achmad zaenuri/Shutterstock.com
Um einen Branch aus einem Remote-Repository auszuchecken, verwenden Sie den Befehl „git fetch“ und dann „git branch -r“, um die Remote-Branches aufzulisten. Wählen Sie den gewünschten Branch aus und verwenden Sie einen Befehl der Form „git checkout -b new-branch-name origin/remote-branch-name“. Wenn Sie mehrere Repositorys verwenden, ändern Sie den Ursprungsteil des Checkout-Befehls in den Namen der Remote, von der Sie den Zweig auschecken möchten.

Wenn Ihr Entwicklungsteam Git verwendet, müssen Sie eventuell die Arbeit eines anderen als Zweig aus einem Remote-Repository auschecken. Wie die meisten Branch-Aktionen in Git ist der Wechsel zu einem Remote-Branch eigentlich ganz einfach.

Inhaltsverzeichnis

Git, Branches und Remotes
Finden Sie Ihre lokalen Filialen
Auschecken einer Remote-Zweigstelle
Umgang mit Namenskonflikten
Umgang mit mehreren Remote-Repositories
Bevor Sie zur Kasse gehen

Git, Branches und Remotes

Die Git-Philosophie besteht darin, häufig zu verzweigen. Verzweigungen ermöglichen die Entwicklung, ohne die Hauptcodebasis zu ändern. Wenn Sie zufrieden sind, dass Ihr neuer, getesteter Code bereit ist, führen Sie Ihren neuen Zweig mit einem anderen Zweig zusammen. Normalerweise ist dies der Haupt- oder Hauptzweig, aber Sie können zwei beliebige Zweige zusammenführen.

Aufgrund dieser Flexibilität und der leichten und schnellen Art und Weise, wie Git Verzweigungen und Zusammenführungen handhabt, wurde die Verzweigung transformiert. In älteren Versionskontrollsystemen war die Verzweigung eine große Sache. Das Verzweigen und Zusammenführen war langsam und fehleranfällig. Git ermöglichte Entwicklern eine einfache und schnelle Verzweigung, mit der viele verschiedene Workflows unterstützt werden.

Wenn Sie als Teil eines Entwicklungsteams mit Git arbeiten oder sich freiwillig melden, verfügen Sie über ein „zentrales“ Git-Repository, das von den Computern jedes Softwareentwicklers entfernt ist. Dies wird als Remote-Repository oder einfach als „Remote“ bezeichnet. Hier werden die Commits und Änderungen an Ihr lokales Repository gesendet, wenn Sie einen Push durchführen.

Das machen natürlich auch die anderen Entwickler. Das erleichtert die Zusammenarbeit. Wenn Sie auf die Arbeit eines anderen Entwicklers zugreifen müssen, rufen Sie einfach seinen Code aus einer Verzweigung im Remote-Repository ab. Wenn sie auf Ihre Arbeit zugreifen müssen, rufen sie Ihren Code aus einer Verzweigung im Repository ab, die eine Ihrer lokalen Verzweigungen verfolgt.

In Git kann ein Entwicklungsprojekt mehrere Remotes haben. Eine lokale Verzweigung kann jedoch nur eine einzelne entfernte Verzweigung verfolgen. Solange Sie also mit der entsprechenden Fernbedienung arbeiten, ist das Auschecken eines Remote-Zweigs mit mehreren Fernbedienungen dasselbe wie die Verwendung einer einzelnen Fernbedienung.

Finden Sie Ihre lokalen Filialen

Sie müssen Namenskonflikte vermeiden. Wenn Sie einen lokalen Zweig haben, der zufällig denselben Namen hat wie der Remote-Zweig, den Sie auschecken werden, haben Sie zwei Möglichkeiten. Sie können Ihren lokalen Zweig umbenennen und den entfernten Zweig auschecken. Auf diese Weise hat Ihre lokale Verzweigung, die die entfernte Verzweigung verfolgt, denselben Namen wie die entfernte Verzweigung. Oder Sie können den Remote-Branch auschecken und Git anweisen, einen lokalen Tracking-Branch mit einem neuen Namen zu erstellen.

Um die Namen der Branches in Ihrem lokalen Repository herauszufinden, verwenden Sie den Befehl git branch .

 Git-Zweig 

Lokale Branches mit dem Befehl git branch auflisten

Dieses lokale Repository hat einen Master-Zweig und drei weitere Zweige. Das Sternchen zeigt an, welches der aktuelle Zweig ist. Um von Branch zu Branch zu wechseln, müssen Sie sich den Branch ansehen, mit dem Sie arbeiten möchten.

 git checkout new-feature
 Git-Status 

Auschecken eines lokalen Zweigs mit dem Befehl git checkout

Der erste Befehl ändert für uns den Branch, sodass „new-feature“ der aktuelle Branch ist. Der Befehl git status bestätigt dies für uns.

Wir können zwischen Zweigen hin und her springen, neue Änderungen übernehmen, Updates von der Remote abrufen und lokale Updates an die Remote pushen.

VERWANDT: So aktualisieren und pflegen Sie separate Git-Zweige

Auschecken einer Remote-Zweigstelle

Es gibt einen Zweig im Remote-Repository, der auf unserem Computer nicht vorhanden ist. Eine Entwicklerin namens Mary hat eine neue Funktion erstellt. Wir möchten zu diesem Remote-Zweig wechseln, damit wir diese Version der Software lokal erstellen können.

Wenn wir einen fetch durchführen, zieht Git die Metadaten aus dem Remote-Repository zurück.

 git holen 

Verwenden des Befehls git fetch zum Abrufen der Metadaten zu einem Remote-Repository

Da dies der erste fetch ist, den wir durchgeführt haben, seit Mary ihren Zweig in das Remote-Repository verschoben hat, wurde uns mitgeteilt, dass es einen neuen Zweig namens „origin/mary-feature“ gibt. Der Standardname für das erste entfernte Repository, das einem Projekt hinzugefügt wird, ist „Ursprung“.

Unabhängig davon, ob wir diese Nachricht sehen oder nicht, können wir Git immer bitten, die Branches im Remote-Repository aufzulisten.

Die Option -r (remote) weist Git an, über die Branches zu berichten, die sich im Remote-Repository befinden.

 git branch -r 

Verwenden des Befehls git branch -r zum Auflisten entfernter Branches

Der Punkt, der hier zu beachten ist, ist, dass Git seine lokale Kopie der Metadaten der Remote überprüft. Aus diesem Grund haben wir den Befehl git fetch verwendet, um sicherzustellen, dass die lokale Kopie der Metadaten auf dem neuesten Stand ist.

So wählen Sie das für Ihr Team geeignete Git-Workflow- und Branching-Modell aus
VERWANDTE So wählen Sie das Git-Workflow- und Verzweigungsmodell aus, das für Ihr Team geeignet ist

Sobald wir den gewünschten Zweig gefunden haben, können wir loslegen und ihn uns ansehen. Wir verwenden den Befehl git checkout mit der Option -b (branch), gefolgt von dem Namen, den wir für den lokalen Branch verwenden werden, gefolgt vom Namen des Remote-Branch.

 git checkout -b Mary-Funktion Ursprung/Mary-Funktion 

Auschecken eines Remote-Zweigs mit dem Befehl git checkout -b

Wir können sehen, dass wir den Remote-Zweig ausgecheckt und einen lokalen Zweig erstellt haben, der Änderungen im Remote-Zweig nachverfolgt.

 Git-Zweig 

Lokale Zweige mit dem Befehl git branch auflisten, wobei die neu erstellte Kopie des entfernten Zweigs als aktueller Zweig ausgewählt ist

Unsere neue lokale Niederlassung ist jetzt unsere aktuelle Arbeitsniederlassung.

Umgang mit Namenskonflikten

Wenn Sie eine lokale Verzweigung haben, die denselben Namen wie die Remote-Verzweigung hat, können Sie entweder Ihre lokale Verzweigung umbenennen, bevor Sie die Remote-Verzweigung auschecken, oder die Remote-Verzweigung auschecken und einen anderen Namen für die lokale Verzweigung angeben.

Um den Remote-Zweig in einen anders benannten lokalen Zweig auszuchecken, können wir denselben Befehl verwenden, den wir zuvor verwendet haben, und einen neuen lokalen Zweignamen auswählen.

 git checkout -b Mary-Test-Ursprung/Mary-Funktion 

Auschecken eines entfernten Zweigs mit dem Befehl git checkout -b, wobei der lokale Zweig einen anderen Namen hat als der entfernte Zweig

Dadurch wird ein lokaler Branch namens „mary-test“ erstellt, der lokale Commits zu diesem Branch verfolgt. Pushs gehen an den Remote-Zweig „origin/mary-feature“.

Dies ist wahrscheinlich der beste Weg, um mit lokalen Namenskonflikten umzugehen. Wenn Sie den Namen des lokalen und des Remote-Zweigs wirklich beibehalten möchten, müssen Sie Ihren lokalen Zweig umbenennen, bevor Sie den Remote-Zweig auschecken. Das Umbenennen eines Branches ist in Git trivial.

 git branch -m mary-feature alter-mary-branch 

Einen Branch mit dem Befehl git branch -m umbenennen

Sie können jetzt den Remote-Zweig „origin/mary-feature“ auschecken.

Umgang mit mehreren Remote-Repositories

Wenn Sie mehrere Remote-Repositorys konfiguriert haben, müssen Sie darauf achten, dass Sie mit dem richtigen Repository arbeiten, wenn Sie den Remote-Zweig auschecken.

Um Ihre Remote-Repositories aufzulisten, verwenden Sie den remote Befehl mit der Option -v (Ansicht).

 git remote -v 

Auflisten von Remote-Repositories mit dem Befehl git remote -v

Um alle verfügbaren Branches anzuzeigen, müssen wir die Metadaten von allen unseren Remotes abrufen und dann die Remote-Branches auflisten.

 git fetch --all
 git branch --all 

Verwendung von git fetch --all zum Aktualisieren der lokalen Metadaten und Verwendung von git branch --all zum Auflisten aller Branches, lokal und remote

Wir können sehen, dass sich der gewünschte Zweig in der „Origin“-Fernbedienung befindet. Der Befehl zum Auschecken hat das gleiche Format, das wir bereits verwendet haben. Wir müssen den Remote-Namen „origin“ sowie den Branch-Namen „mary-feature“ angeben.

 git checkout -b Mary-Funktion Ursprung/Mary-Funktion 

Auschecken eines Remote-Branch mit dem Befehl git checkout -b unter Verwendung des Remote-Namens und des Branch-Namens

VERWANDT: Wie man Git Remotes wechselt, hinzufügt und entfernt

Bevor Sie zur Kasse gehen

Bevor Sie zur Kasse gehen, sollten Sie ein paar Dinge beachten, und es wird Ihnen gut gehen.

Achten Sie darauf, Namenskonflikte zu vermeiden. Wenn Sie eine lokale Verzweigung mit demselben Namen wie die entfernte Verzweigung haben, entscheiden Sie, ob Sie die lokale Verzweigung umbenennen oder eine Verzweigung mit einem anderen Namen erstellen, um die entfernte Verzweigung zu verfolgen.

Wenn Sie mehrere Remote-Repositories verwenden, stellen Sie sicher, dass Sie die richtige Fernbedienung verwenden.

VERWANDT: Git-Rebase: Alles, was Sie wissen müssen