Wie lade ich einen Branch mit Git herunter?

Lesezeit: 5 Minuten

Benutzer-Avatar
Andreas

Ich habe ein Projekt, das auf GitHub gehostet wird. Ich habe auf einem Computer einen Branch erstellt und dann meine Änderungen an GitHub gepusht mit:

git push origin branch-name

Jetzt bin ich auf einem anderen Computer und möchte diesen Zweig herunterladen. Also habe ich versucht:

git pull origin branch-name

… aber alles, was dies bewirkte, war, meinen Master-Zweig mit den Änderungen in meinem neuen Zweig zu überschreiben.

Was muss ich tun, um meinen Remote-Zweig ordnungsgemäß abzurufen, ohne vorhandene Zweige zu überschreiben?

Benutzer-Avatar
Andreas

Dank einer verwandten Frage habe ich herausgefunden, dass ich die entfernte Verzweigung als neue lokale Verzweigung “auschecken” und einen neuen lokalen Verzweigungsnamen angeben muss.

git checkout -b newlocalbranchname origin/branch-name

Oder Sie können Folgendes tun:

git checkout -t origin/branch-name

Letzteres erstellt einen Zweig, der auch so eingestellt ist, dass er den Remote-Zweig verfolgt.


Aktualisieren: Es ist 5 Jahre her, seit ich diese Frage ursprünglich gepostet habe. Ich habe viel gelernt und git hat sich seitdem verbessert. Mein gewohnter Arbeitsablauf ist jetzt etwas anders.

Wenn ich die entfernten Branches abrufen möchte, führe ich einfach Folgendes aus:

git pull

Dadurch werden alle Remote-Zweige abgerufen und der aktuelle Zweig zusammengeführt. Es wird eine Ausgabe angezeigt, die in etwa so aussieht:

From github.com:andrewhavens/example-project
   dbd07ad..4316d29  master     -> origin/master
 * [new branch]      production -> origin/production
 * [new branch]      my-bugfix-branch -> origin/my-bugfix-branch
First, rewinding head to replay your work on top of it...
Fast-forwarded master to 4316d296c55ac2e13992a22161fc327944bcf5b8.

Jetzt weiß Git von meinem neuen my-bugfix-branch. Um zu diesem Zweig zu wechseln, kann ich einfach Folgendes ausführen:

git checkout my-bugfix-branch

Normalerweise müsste ich den Branch erstellen, bevor ich ihn auschecken könnte, aber in neueren Git-Versionen ist er schlau genug, um zu wissen, dass Sie es wollen Kasse eine lokale Kopie dieses entfernten Zweigs.

  • Ich verwende GIT 1.7.2.5 und der Befehl, der für mich funktioniert hat, war: git branch --track XX origin/XX. Ihr Befehl gibt mir einen Fehler.

    – dimitarvp

    14. Mai 2012 um 16:17 Uhr

  • Wenn Sie nicht alle entfernten Branches heruntergeladen haben, kann dies fehlschlagen. Führen Sie “git remote update” aus, um sie herunterzuziehen.

    – Ben Walding

    5. Juli 2012 um 22:31 Uhr

  • Tatsächlich kann es sogar noch kürzer “git checkout branch-name” sein. Wenn Branch-Name derselbe ist wie ein Remote-Tracking-Branch (dh Herkunft/Branch-Name), dann ist es automatisch ein lokaler Tracking-Branch.

    – DavidN

    29. August 2015 um 4:43 Uhr

Für alle Git-Neulinge wie mich sind hier einige Schritte, die Sie befolgen können, um ein Remote-Repository herunterzuladen und dann zu dem Zweig zu wechseln, den Sie anzeigen möchten. Wahrscheinlich missbrauchen sie Git auf irgendeine Weise, aber für mich hat es funktioniert! 🙂

Klonen Sie das Repository, für das Sie den Code herunterladen möchten (in diesem Beispiel habe ich die LR Resty-Projekt auf Github):

$ git clone https://github.com/lukeredpath/LRResty.git
$ cd LRResty

Überprüfen Sie, welchen Branch Sie an dieser Stelle verwenden (es sollte der Master-Branch sein):

$ git branch    
* master

Schauen Sie sich den gewünschten Zweig an, in meinem Fall heißt er “arcified”:

 $ git checkout -b arcified origin/arcified
 Branch arcified set up to track remote branch arcified from origin.
 Switched to a new branch 'arcified'

Bestätigen Sie, dass Sie jetzt den gewünschten Zweig verwenden:

$ git branch    
* arcified
  master

Wenn Sie den Code später erneut aktualisieren möchten, führen Sie ihn aus git pull:

$ git pull
Already up-to-date.

  • “Sie missbrauchen wahrscheinlich Git auf irgendeine Weise” – nein, das ist genau richtig.

    – Großer McLargeHuge

    3. August 2015 um 15:06 Uhr

Sie können verwenden:

git clone <url> --branch <branch>

um nur den Inhalt des Zweigs zu klonen/herunterzuladen.

Dies war für mich besonders hilfreich, da die Inhalte meines Zweigs völlig anders waren als die des Hauptzweigs (obwohl dies normalerweise nicht der Fall ist). Daher haben mir die von anderen oben aufgeführten Vorschläge nicht geholfen, und ich würde am Ende eine Kopie des Masters erhalten, selbst nachdem ich den Zweig ausgecheckt und einen Git-Pull durchgeführt hatte.

Dieser Befehl würde Ihnen direkt den Inhalt des Zweigs liefern. Es hat für mich funktioniert.

  • Dies ist die beste Antwort. Einfach und effektiv.

    – derek

    1. März 2019 um 6:03 Uhr

  • Dies scheint bei mir nicht zu funktionieren. Es sagt, dass es bereits einen Ordner mit diesem Namen gibt (den es natürlich gibt)

    – Jonathan Tuzman

    4. April 2019 um 21:23 Uhr

  • @Jonathan Es wird kein neuer Zweig an Ihren vorhandenen angehängt. Es kann nur zum Klonen einer neuen Kopie verwendet werden. Ich verstehe nicht, warum es bereits einen Ordner mit diesem Namen geben sollte, wenn Sie das Repository noch nicht geklont haben. Versuchen Sie das Klonen an einem anderen Ort.

    – Alter Markus

    9. April 2019 um 14:24 Uhr

  • Aktualisiert kein vorhandenes Projekt mit einem neuen Zweig

    – Blenden

    2. Oktober 2019 um 15:19 Uhr

Benutzer-Avatar
ardsrk

Sie könnten git remote wie folgt verwenden:

git fetch origin

und richten Sie dann einen lokalen Zweig ein, um den Remote-Zweig wie folgt zu verfolgen:

git branch --track [local-branch-name] origin/remote-branch-name

Sie hätten jetzt den Inhalt des Remote-Github-Zweigs in local-branch-name.

Sie könnten zu diesem lokalen Zweignamen wechseln und mit der Arbeit beginnen:

git checkout [local-branch-name]

Benutzer-Avatar
Srikanta Sahoo

Navigieren Sie zu dem Ordner auf Ihrem neuen Computer, den Sie von git auf git bash herunterladen möchten.

Verwenden Sie den folgenden Befehl, um den Code von einem beliebigen Zweig herunterzuladen

git clone 'git ssh url' -b 'Branch Name'

Es lädt den jeweiligen Filialcode herunter.

Benutzer-Avatar
Pablo Ezequiel Inchausti

Git-Klon und CD im Repo-Namen:

$ git clone https://github.com/PabloEzequiel/iOS-AppleWach.git
Cloning into 'iOS-AppleWach'...
$ cd iOS-AppleWach

Wechseln Sie zu dem Zweig (einer GitHub-Seite), den ich möchte:

$ git checkout -b gh-pages origin/gh-pages
Branch gh-pages set up to track remote branch gh-pages from origin.
Switched to a new branch 'gh-pages'

Und den Ast ziehen:

$ git pull
Already up-to-date.

ls:

$ ls
index.html      params.json     stylesheets

Benutzer-Avatar
Aditya Jain

$ git fetch

$ git checkout <branch>

git fetch ruft alle entfernten Zweige ab. Sie können die Remote-Zweige mit überprüfen git branch -r (oder git branch -rv) Wenn Sie keinen bestehenden Zweig mit demselben Namen haben, können Sie einfach mit direkt zu dem Zweig wechseln git checkout <branch>

  • Es scheint, dass es in älteren Git-Versionen ärgerlicher war …

    – svelandiag

    26. Oktober 2021 um 21:00 Uhr

1011830cookie-checkWie lade ich einen Branch mit Git herunter?

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

Privacy policy