Wie ziehe ich einen entfernten Zweig herunter?

Lesezeit: 3 Minuten

Ich habe eine halbe Stunde lang gesucht, wie man einen entfernten Zweig zieht, und kann es nicht herausfinden.

Mein Remote-Git-Repository hat einen Zweig namens frontend. Wenn ich laufe git pull origin frontend Ich bekomme folgende Ausgabe:

* branch             frontend     -> FETCH-HEAD
Already up-to-date.

Wenn ich laufe git branchbekomme ich folgendes:

*master

Warum nicht frontend in der von zurückgegebenen Liste git branch?

Wenn es überhaupt hilft, wenn ich laufe git branch -v -aist einer der zurückgegebenen Zweige remotes/origins/frontend

Danke im Voraus!!

  • Die Frage im Titel („Wie ziehe ich einen entfernten Zweig herunter?“) ist eine andere Frage als die im Hauptteil des Textes („Warum wird Frontend nicht in der Liste von Git-Zweig zurückgegeben?“). Als du das gemacht hast git pull Sie haben den Remote-Zweig heruntergezogen. Das bezieht sich auf die Frage im Titel. Es gibt eine Reihe von Möglichkeiten, einen lokalen Zweig mit dem Namen “Frontend” zu erstellen, und einige davon werden in den Antworten unten beschrieben. Diese adressieren die Frage im Körper.

    – Jeff Scott Brown

    8. November 2014 um 2:15 Uhr

Benutzer-Avatar
Code-Lehrling

git pull origin frontend ist äquivalent zu get fetch origin frontend und get merge frontend. Beachten Sie, dass dies den Remote-Zweig mit dem Namen zusammenführt frontend in Ihrem Fall an die aktuelle örtliche Niederlassung master. Wenn Sie eine lokale Verzweigung mit demselben Namen wie die entfernte Verzweigung wünschen, sollten Sie diese zuerst erstellen. Eine Möglichkeit, dies zu tun, ist

git checkout -b frontend
git pull origin frontend

Sie sollten sich über die Unterschiede zwischen einer lokalen Filiale und einer Remote-Tracking-Filiale informieren.

Alternativ können Sie den Zweig manuell abrufen und dann auschecken:

git fetch origin
git checkout frontend

Wenn Sie noch keinen Zweig mit dem Namen haben frontendfindet git den Remote-Tracking-Zweig und erstellt automatisch einen lokalen Zweig beim selben Commit.

  • Es gibt einen weiteren subtilen Unterschied (der im neuesten Git weg ist), wenn man das Fetch-and-Merge trennt: wenn man läuft git fetch <remote> <branch-list>ältere Versionen von git rufen alle benannten Zweige ab, setzen sie aber nur unter dem besonderen Namen FETCH_HEAD, anstatt Ihre lokalen Kopien der Remote-Zweige zu aktualisieren. Das heisst git merge frontend macht nicht was du wolltest. Neuere Versionen aktualisieren die “Remote Branches”, sodass die git merge frontend funktioniert hier wie gewünscht. Meine allgemeine Regel lautet “vermeide Git-Pull” :-), was die ganze Frage “welche Git-Version” einfach umgeht.

    – Torek

    8. November 2014 um 2:28 Uhr

Sie müssen auch eine lokale Verzweigung erstellen. Da es bereits einen Remote-Zweig in Ihrem Repo gibt, geben Sie einfach Folgendes ein:

git checkout frontend

git erstellt autokratisch einen lokalen Branch und richtet auch einen Upstream-Branch ein.

  • Dies sollte als richtige Antwort markiert werden. Einfach blöd gehalten.

    – AmolR

    17. September 2021 um 11:55 Uhr

Warum wird Frontend nicht in der Liste von Git Branch zurückgegeben?

Weil Sie keinen lokalen Zweig namens “Frontend” haben.

Es gibt eine Reihe von Git-Konfigurationseinstellungen, die hier eine Rolle spielen könnten, aber eine Sache, die Sie tun können, wenn Sie einen lokalen Zweig namens “Frontend” erstellen möchten, der den Remote-Zweig mit demselben Namen verfolgt, ist etwa Folgendes:

git branch --track frontend origin/frontend

Ich hoffe das hilft.

  • Dies ist das einzige, das für mich funktioniert hat

    – Bambus

    13. März um 6:23 Uhr

1070470cookie-checkWie ziehe ich einen entfernten Zweig herunter?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy