So checken Sie einen Remote-Git-Zweig aus
Veröffentlicht: 2023-01-23Wenn 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.
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
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
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
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
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.
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
Wir können sehen, dass wir den Remote-Zweig ausgecheckt und einen lokalen Zweig erstellt haben, der Änderungen im Remote-Zweig nachverfolgt.
Git-Zweig
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
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
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
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
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
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