Git-Checkout: Das Aktualisieren von Pfaden ist mit dem Wechseln von Branches nicht kompatibel

Lesezeit: 6 Minuten

Git Checkout Das Aktualisieren von Pfaden ist mit dem Wechseln von
Ikke

Mein Problem hängt mit dem schwerwiegenden Git-Fehler beim Wechseln des Zweigs zusammen.

Ich versuche, mit dem Befehl einen entfernten Zweig abzurufen

git checkout -b local-name origin/remote-name

aber ich bekomme diese Fehlermeldung:

fatal: git checkout: Das Aktualisieren von Pfaden ist mit dem Wechseln von Zweigen nicht kompatibel.
Wollten Sie „origin/remote-name“ auschecken, was nicht als Commit aufgelöst werden kann?

Wenn ich manuell einen Zweig erstelle und dann den Remote-Zweig ziehe, funktioniert es genauso, als würde ich einen neuen Klon erstellen und den Zweig auschecken.

Warum funktioniert es nicht auf dem Repository, mit dem ich arbeite?

  • Was hat sich seit der ersten Instanz dieses Befehls (Auslösen der Fehlermeldung) geändert?

    – VonC

    3. Juni 2009 um 19:43 Uhr

  • git init git holen git holen git://blabla.com/dir1/Project.git

    Benutzer1867173

    30. November 2012 um 18:20 Uhr


Git Checkout Das Aktualisieren von Pfaden ist mit dem Wechseln von
Benutzer167628

Ich glaube, dies tritt auf, wenn Sie versuchen, einen Remote-Zweig auszuchecken, den Ihr lokales Git-Repo noch nicht kennt. Versuchen:

git remote show origin

Wenn sich der Remote-Zweig, den Sie auschecken möchten, unter „Neue Remote-Zweige“ und nicht unter „Überwachte Remote-Zweige“ befindet, müssen Sie sie zuerst abrufen:

git remote update
git fetch

Jetzt sollte es funktionieren:

git checkout -b local-name origin/remote-name

  • Dies löste das Problem für mich, nicht die obige willkürliche Antwort.

    – Jessedc

    10. März 2010 um 21:58 Uhr

  • Das sollte “git fetch REPOSITORY_NAME” sein, um alle Branches in diesem Repository abzurufen.

    – Mike Thomsen

    24. März 2010 um 22:36 Uhr

  • nicht unbedingt. git fetch erhält alle Zweige von allen entfernten Repos.

    – Michael Grinich

    6. Juni 2010 um 23:33 Uhr

  • Falls noch jemand mit der völligen Verrücktheit all dessen zu kämpfen hat: git holt origin/branchname Is nicht das gleiche wie git fetch. Ersteres führt einfach dazu, dass „new (next fetch will store in remotes/origin)“ in einer Spalte angezeigt wird, die über git remote show origin sichtbar ist.

    – Alexander Kellett

    4. August 2011 um 13:23 Uhr


  • Wenn Sie versuchen, dies für eine Fernbedienung zu tun, die Sie explizit hinzugefügt haben (also irgendetwas außer Herkunft) müssen Sie tun git remote update bevor Ihr Abruf diese Fernbedienung abruft. Sonst bekommt man Meldungen wie Did you intend to checkout 'upstream-repo/master' which can not be resolved as commit? Bitte fügen Sie dies der Antwort hinzu und ersparen Sie den Leuten Stunden damit, dieselben Antworten zu lesen, die nur für den Ursprung funktionieren.

    – Bruno Bronosky

    14. Februar 2013 um 20:56 Uhr

1646261289 274 Git Checkout Das Aktualisieren von Pfaden ist mit dem Wechseln von
Seltene Freuden

Alternative Syntax,

git fetch origin remote_branch_name:local_branch_name

  • Das hat bei mir funktioniert. Der Name meines Remote-Zweigs ist nicht origin. Ich weiß nicht, ob das einen Unterschied macht, da ich Wodka getrunken habe.

    – Rimian

    17. November 2012 um 10:55 Uhr

  • Dies ist nicht nur eine alternative Syntax, sondern kann funktionieren, wenn git checkout -b branch_name origin/branch_name nicht funktioniert

    – Codekuchen

    20. Dezember 2012 um 19:41 Uhr

  • Dadurch wurde auch mein Problem beim Ausführen von “git checkout –track origin/remote-branch” behoben, das ursprünglich den gleichen Fehler wie OPs vor dem Fix ergab. Danke!

    – kaki

    11. Juni 2013 um 18:29 Uhr

  • Hat für mich nach dem Ausführen auch der validierten Antwort funktioniert.

    – AsTeR

    21. Juni 2013 um 8:08 Uhr

  • Ja, das vermute ich --depth Qualifizierer für den ursprünglichen Klon kann hier schuld sein. Ich hatte Erfolg mit git fetch remote_branch_name:local_branch_name aber alle anderen Ratschläge schlugen fehl.

    – John Keller

    16. April 2015 um 21:01 Uhr

1646261289 693 Git Checkout Das Aktualisieren von Pfaden ist mit dem Wechseln von
PalOliver

Nachdem ich das meiste von dem, was ich in diesem Thread lesen konnte, erfolglos ausprobiert hatte, stolperte ich über dieses: Remote-Zweig wird nicht in “git branch -r” angezeigt

Es stellte sich heraus, dass meine .git/config-Datei falsch war. Nach einer einfachen Fehlerbehebung wurden alle Zweige angezeigt.

Gehen von

[remote "origin"]
    url = http://stash.server.com/scm/EX/project.git
    fetch = +refs/heads/master:refs/remotes/origin/master

zu

[remote "origin"]
    url = http://stash.server.com/scm/EX/project.git
    fetch = +refs/heads/*:refs/remotes/origin/*

Hat den Trick gemacht

  • Das ist in der Tat eine seltsame Konfiguration. Es weist git an, nur den Master-Zweig von der Fernbedienung abzurufen.

    – Ikke

    5. Juli 2013 um 11:48 Uhr

  • Ich würde es 10 Mal abstimmen, wenn ich könnte! – Dies scheint etwas zu sein, was der neue Git beim Klonen tut

    – mpapis

    27. September 2013 um 23:04 Uhr

  • Ich hatte das gleiche Problem, es machte mich wahnsinnig. Jeder, der keine entfernten Zweige sieht, überprüft dies bitte!!

    – Carlos Granados

    7. Januar 2014 um 17:02 Uhr

  • Gott sei Dank für deine Antwort 🙂

    – Sacha

    30. September 2017 um 2:28 Uhr

  • Geist = geblasen! Danke!

    – Chiranjib

    28. Juni 2019 um 4:55 Uhr

Ich bin mir nicht sicher, ob dies hilfreich oder genau relevant für Ihre Frage ist, aber wenn Sie versuchen, nur a abzurufen und zu bezahlen Einzel Verzweigung aus dem Remote-Repository, dann reichen die folgenden Git-Befehle aus:

url= << URL TO REPOSITORY >>
branch= << BRANCH NAME >>

git init
git remote add origin $url
git fetch origin $branch:origin/$branch
git checkout -b $branch --track origin/$branch

keines der oben genannten hat bei mir funktioniert. Meine Situation ist etwas anders, meine entfernte Nebenstelle liegt nicht an Ursprung. aber in einem anderen Repository.

git remote add remoterepo GIT_URL.git
git fetch remoterepo
git checkout -b branchname remoterepo/branchname

Tipp: Wenn Sie den Remote-Zweig in der folgenden Ausgabe nicht sehen git branch -v -a Es gibt keine Möglichkeit, es zu überprüfen.

Bestätigte Arbeit an 1.7.5.4

  • arf, stellen Sie einfach fest, dass VirtualStaticVoid die gleiche Lösung hatte!

    – Olivier Refalo

    11. Juli 2011 um 20:35 Uhr

  • +1 für git branch -v -a: Ich hatte eine falsch konfigurierte Fernbedienung, die sagte fetch = +refs/heads/*:refs/remotes/master/* obwohl die Fernbedienung angerufen wurde upstream.

    – keflawitsch

    26. Februar 2013 um 23:06 Uhr

Git Checkout Das Aktualisieren von Pfaden ist mit dem Wechseln von
Matt

Was bei mir funktioniert hat war:

git fetch

Dadurch werden alle Referenzen für alle Remote-Zweige auf Ihren Computer heruntergezogen. Dann könnte ich tun

git checkout <branchname>

und das hat perfekt funktioniert. Ähnlich wie die am häufigsten gewählte Antwort, aber etwas einfacher.

  • arf, stellen Sie einfach fest, dass VirtualStaticVoid die gleiche Lösung hatte!

    – Olivier Refalo

    11. Juli 2011 um 20:35 Uhr

  • +1 für git branch -v -a: Ich hatte eine falsch konfigurierte Fernbedienung, die sagte fetch = +refs/heads/*:refs/remotes/master/* obwohl die Fernbedienung angerufen wurde upstream.

    – keflawitsch

    26. Februar 2013 um 23:06 Uhr

1646261290 63 Git Checkout Das Aktualisieren von Pfaden ist mit dem Wechseln von
Peter Mortensen

Ich vermute, dass es keinen Remote-Zweig namens Remote-Name gibt, aber dass Sie versehentlich einen lokalen Zweig namens Origin/Remote-Name erstellt haben.

Ist es möglich, dass Sie irgendwann getippt haben:

git branch origin/remote-name

Erstellen Sie also einen lokalen Zweig namens origin/remote-name? Geben Sie diesen Befehl ein:

git checkout origin/remote-name

Sie sehen entweder:

Switched to branch "origin/remote-name"

was bedeutet, dass es sich wirklich um eine falsch benannte lokale Niederlassung handelt, oder

Note: moving to "origin/rework-isscoring" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
  git checkout -b 

was bedeutet, dass es sich wirklich um einen entfernten Zweig handelt.

916940cookie-checkGit-Checkout: Das Aktualisieren von Pfaden ist mit dem Wechseln von Branches nicht kompatibel

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

Privacy policy