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.

124voto

tacaswell Punkte 79032

Dies wird für einen nicht als origin benannten Remote DWIM (Dokumentation):

$ git checkout -t remote_name/remote_branch

Um einen neuen Remote hinzuzufügen, müssen Sie zuerst Folgendes tun:

$ git remote add remote_name location_of_remote
$ git fetch remote_name

Das erste sagt Git, dass der Remote existiert, das zweite holt die Commits.

124voto

matanster Punkte 14503

Verwenden Sie:

git checkout -b  /

Andere Antworten funktionieren nicht mit modernem Git in meinem Fall. Möglicherweise müssen Sie zuerst pullen, wenn der Remote-Zweig neu ist, aber ich habe diesen Fall nicht überprüft.

15 Stimmen

Jetzt betrachtet sie sich, sie überlappen. Nur meiner ist prägnant und sagt Ihnen, was zu tun ist, anstatt eine Geschichte zu erzählen. Ich gehe davon aus, dass es daher vor allem für aktuelle Git-Versionen nützlicher sein kann. Sie können es herunterstimmen, wenn Sie denken, dass es eine schlechte Antwort ist.

0 Stimmen

Nachdem ich die anderen Antworten gelesen und immer mehr verwirrt wurde, ist dies die einzige, die tatsächlich für mich funktioniert hat :)

123voto

Alireza Punkte 92209

Sie sehen im Grunde den Zweig, haben aber noch keine lokale Kopie davon!...

Sie müssen den Zweig fetchen...

Sie können einfach den Zweig fetchen und dann darauf umschalten, verwenden Sie den folgenden Einzeiler-Befehl:

git fetch && git checkout test

Ich habe auch das unten stehende Bild erstellt, damit Sie die Unterschiede sehen können, schauen Sie sich an, wie fetch funktioniert und wie es sich von pull unterscheidet:

git fetch

78voto

Madhan Ayyasamy Punkte 14570

Um ein Git-Repository zu klonen, führen Sie aus:

git clone 

Der obige Befehl checked alle Branches aus, aber nur der master Branch wird initialisiert. Wenn Sie die anderen Branches auschecken möchten, führen Sie aus:

git checkout -t origin/future_branch (zum Beispiel)

Dieser Befehl checked den Remote-Branch aus, und Ihr lokaler Branch wird den gleichen Namen wie der Remote-Branch haben.

Wenn Sie Ihren lokalen Branch-Namen beim Auschecken überschreiben möchten:

git checkout -t -b enhancement origin/future_branch

Derzeit ist Ihr lokaler Branch-Name enhancement, aber Ihr Remote-Branch-Name ist future_branch.

69voto

M. Wojcik Punkte 1491

Ich mache immer:

git fetch origin && git checkout --track origin/branch_name

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