Git: kann nicht zwischen Zweigen wechseln

Lesezeit: 3 Minuten

Git kann nicht zwischen Zweigen wechseln
Rick Robinson

In einem lokalen Ordner mit mehreren Dateien habe ich ein Git-Repository für welchen Zweig x enthält nur einige dieser Dateien, und die Meister man schließt sie alle ein.

Wenn ich versuche, von x auf master zu wechseln, bekomme ich:

$ git checkout master
error: The following untracked working tree files would be overwritten by checkout:
[...some files...]
Aborting

BEARBEITEN: Keine der aufgelisteten Dateien gehört zum Zweig x, sie gehören alle zum Master. Ich bin mir ziemlich sicher, dass sie nicht geändert wurden, und auf jeden Fall kann ich zu der Version zurückkehren, die im Master-Zweig gespeichert ist.

Was soll ich machen?

Sie haben einige Dateien (die aufgelisteten), die bearbeitet wurden, aber wenn Sie einen anderen Zweig auschecken, werden Sie diese Bearbeitungen überschreiben (und verlieren).

Sie können diese Änderungen festschreiben oder speichern.

Sehen : http://git-scm.com/book/en/v1/Git-Tools-Stashing

  • OK. Seltsam ist, dass diese Dateien zum Hauptzweig gehören und ich sie im anderen Zweig nicht geändert habe. Also könnte ich genauso gut zu der “vorherigen” Version von ihnen zurückkehren, was auch immer das sein mag, ohne Probleme. Wie erzwinge ich es?

    – Rick Robinson

    31. März 2015 um 9:08 Uhr

  • Okay, es war einfach git checkout -f master

    – Rick Robinson

    31. März 2015 um 9:14 Uhr

  • Wenn Sie keine Angst haben, es zu verlieren, können Sie ” git checkout -f master ” ausführen. Aber das ist seltsam, hat Ihnen das geholfen? stackoverflow.com/questions/4858047/…

    – Bastien Saro Chassetuillier

    31. März 2015 um 9:15 Uhr

  • Ja, das hat geklappt. Vielleicht habe ich, als ich den Namen einiger Dateien geändert habe (nicht unter den aufgelisteten), etwas vermasselt, ich weiß es nicht.

    – Rick Robinson

    31. März 2015 um 9:19 Uhr

  • Ja, es ist einfach, mehr Dateien als erwartet zu übertragen, insbesondere mit IDE-Einstellungsdateien (Jet Brains IDE sind dafür schmerzhaft) 🙂

    – Bastien Saro Chassetuillier

    31. März 2015 um 9:23 Uhr

Git kann nicht zwischen Zweigen wechseln
Razvan

Das Problem ist, dass Sie Dateien haben, die nicht zum Arbeitsbaum hinzugefügt wurden (z. B. neue Dateien, die nach dem letzten Commit erstellt wurden). Git verhindert, dass Sie diese Dateien verlieren, wenn Sie Branches wechseln möchten.

Um den Zweig ändern zu können, können Sie diese Dateien entweder zum Arbeitsbaum hinzufügen (git add file1.out oder für alle: git add --all) oder Sie können sie entfernen (git rm file1.out ...). Dann können Sie sie entweder festschreiben oder (falls noch nicht bereit) sie verstauen (git stash) und wann Sie sie zurückhaben möchten (git stash pop)

Mehr Infos hier und hier.

  • Wenn sie nicht nachverfolgt werden, warum git einen Fehler auf ihnen auslösen? Das ist seltsam … (Sie sollten nicht berücksichtigt werden, oder werden sie möglicherweise auf dem Zielzweig verfolgt?)

    – Bastien Saro Chassetuillier

    31. März 2015 um 9:24 Uhr

  • Ich nehme an, sie werden im Zielzweig verfolgt.

    – Razvan

    31. März 2015 um 9:32 Uhr


  • Ja richtig. Sie werden im Master-Zweig verfolgt. Ich war auf einem anderen, als ich versuchte, zur Kasse zu gehen.

    – Rick Robinson

    31. März 2015 um 9:32 Uhr

Das gleiche Problem trat bei meinem Projekt auf. Ich habe alle geänderten Dateien gelöscht oder übertragen, aber ich konnte sie immer noch nicht ändern.

Nachdem ich es bemerkt habe Abbrechen Knopf daneben Alle verpflichten Taste. Die Abbruchtaste hat mein Problem gelöst.

git checkout -f branch_you_want_to_go

VORSICHTIG. Dadurch werden ALLE Änderungen rückgängig gemacht, die auf dem Zweig vorgenommen wurden. Aber wenn Sie zum Zusammenführen gezwungen sind und Sie nicht stashen lassen, ist dies ein einfacher Weg, wenn nicht viel getan wird.

Tun Sie dies, wenn Sie Ihren Zweig danach löschen möchten (wahrscheinlich mit git branch -D branch_to_delete) oder Sie mit der Arbeit an dieser Marke bei 0 beginnen möchten.

997820cookie-checkGit: kann nicht zwischen Zweigen wechseln

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

Privacy policy