8559 Stimmen

Wie prüfe ich einen entfernten Git-Zweig aus?

Jemand hat einen Zweig namens test mit git push origin test in ein gemeinsames Repository geschoben. Ich kann den Zweig mit git branch -r sehen. Wie kann ich den Remote-Zweig test auschecken? Ich habe es versucht:

  • git checkout test, was nichts macht
  • git checkout origin/test gibt * (kein Zweig)

52 Stimmen

Ich denke, dieser Thread ist nicht hilfreich. Nichts scheint zu funktionieren, die ursprüngliche Frage scheint in vielen der Antworten verloren gegangen zu sein. Ich habe jedes Wort gelesen, alles unten ausprobiert und habe keine Ahnung, wie man das machen soll, was der OP machen möchte.

58 Stimmen

Ich habe das Gefühl, als würde ich verrückt werden. Ich versuche, einen branch von einem upstream und nicht nur von origin zu auszuchecken, und jede empfohlene Antwort ist überhaupt nicht hilfreich (im wahrsten Sinne des Wortes). EDIT - entschuldigen Sie bitte, die Vielzahl der Vorschläge in den beiden erstplatzierten Antworten war nutzlos; der dritte (git branch test origin/test) funktioniert. Schön, dass die beiden ersten Antworten 20x so viele Stimmen haben...

0 Stimmen

Vielleicht nützlich für jemand anderen: Als ich die Atom-Editor-Benutzeroberfläche benutzte, um Änderungen abzurufen und zu ziehen, zog sie Änderungen am "main" branch, aber erstellte keine lokale Referenz zum zweiten Remote-Branch. Die Verwendung von git fetch in der Befehlszeile hat diese Referenz erstellt, dann konnte ich den Branch gemäß mehrerer Antworten auschecken.

48voto

alisa Punkte 1166

Ich steckte in einer Situation fest, in der ich den Fehler: Pfadspezifikation 'desired-branch' stimmte mit keiner bekannten Datei in Git überein für alle oben genannten Vorschläge sah. Ich benutze Git-Version 1.8.3.1.

Also hat das für mich funktioniert:

git fetch origin desired-branch
git checkout -b desired-branch FETCH_HEAD

Die Erklärung dahinter ist, dass ich bemerkt habe, dass beim Abrufen des Remote-Zweigs, er auf FETCH_HEAD abgerufen wurde:

git fetch origin desired-branch

From github.com:MYTEAM/my-repo
    * branch            desired-branch -> FETCH_HEAD

0 Stimmen

Ich hatte das gleiche Problem, als ich versuchte, den Remote-Zweig in einem Untermodul in einem Arbeitsverzeichnis zu überprüfen. Weiß jemand, was der Grund dafür ist?

0 Stimmen

Das ist sehr nützlich, wenn einige der Zweige sehr groß sind und du sie nicht unbedingt alle herunterladen möchtest.

48voto

uma Punkte 2814

Sie können versuchen

git fetch remote
git checkout --track -b local_branch_name origin/branch_name

oder

git fetch
git checkout -b local_branch_name origin/branch_name

4 Stimmen

FYI, --track is in neueren Versionen von git nicht mehr erforderlich, da es standardmäßig gesetzt ist, wie in diese frühere Antwort erklärt wird.

0 Stimmen

Dieser Kommentar hat für mich funktioniert, danke! git checkout -b local_branch_name origin/branch_name

40voto

Zuerst musst du folgendes tun:

git fetch # Wenn du den Branch-Namen nicht kennst

git fetch origin branch_name

Zweitens kannst du den Remote-Branch in deinen lokalen Bereich übernehmen:

git checkout -b branch_name origin/branch_name

-b wird einen neuen Branch mit dem angegebenen Namen aus dem ausgewählten Remote-Branch erstellen.

0 Stimmen

Das hat für mich noch nie funktioniert. Ich erhalte einen Fehler, der mir sagt, dass kein Commit ist und nicht daraus erstellt werden kann.

36voto

priyankvex Punkte 5490

Ich verwende den folgenden Befehl:

git checkout --track origin/other_remote_branch

15 Stimmen

Diese Antwort wäre viel nützlicher, wenn Sie erklären würden, warum Sie es auf diese Weise verwenden. d.h. warum jemand '--track' verwenden sollte usw...

33voto

Thushan Punkte 1060

Der Befehl git remote show listet alle Branches (einschließlich nicht verfolgten Branches) auf. Dann können Sie den Remote-Branch-Namen finden, den Sie abrufen müssen.

Beispiel:

git remote show origin

Verwenden Sie diese Schritte, um Remote-Branches abzurufen:

git fetch  :
git checkout  (Der lokale Branch-Name sollte der Name sein, den Sie beim Abrufen angegeben haben)

Beispiel:

git fetch origin test:test
git checkout test

0 Stimmen

Guter Herr, danke dir. Benutze Git seit einem Jahrzehnt, war aber plötzlich in einem riesigen Repository ertrunken, nur um einen Branch auszuchecken... Das hat mich wieder am Laufen!

1 Stimmen

Beste Antwort für mich

0 Stimmen

Ich bevorzuge dies, weil ich nicht alle Zweige von remote abrufen muss, sondern nur den, den ich möchte.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X