Git-Fehler: vorheriges Rebase-Verzeichnis .git/rebase-apply existiert noch, aber Mbox ist angegeben

Lesezeit: 3 Minuten

Git Fehler vorheriges Rebase Verzeichnis gitrebase apply existiert noch aber Mbox ist angegeben
sashoalm

Ich versuche, einen Patch anzuwenden, den ich genommen habe http://www.winehq.org/pipermail/wine-devel/2014-May/104356.html. Ich habe es in einen Texteditor kopiert und gespeichert my.patch (Ich musste die E-Mail reparieren, sie war verschleiert).

Ich habe versucht, es mit Git anzuwenden, aber ich erhalte diesen Fehler:

[email protected]:~/Desktop/wine-git$ git am --signoff <my.patch
previous rebase directory /home/sashoalm/Desktop/wine-git/.git/rebase-apply still exists but mbox given.

Diese kryptische Fehlermeldung gibt mir keine Ahnung, was falsch ist oder was ich tun muss, damit es funktioniert. Was bedeutet dieser Fehler? Und wie behebe ich es?

1642811286 411 Git Fehler vorheriges Rebase Verzeichnis gitrebase apply existiert noch aber Mbox ist angegeben
Ciro Santilli 新疆再教育营六四事件法轮功郝海东

git am --abort

hat bei mir funktioniert, aber git rebase --abort nicht.

Was ist passiert: Ich habe versucht, einen Patch anzuwenden, aber er wurde beschädigt (wahrscheinlich durch Kopieren von Gmail-Einfügen in Text):

git am bad.patch

Und Git sagte:

Applying: python: fix Linetable case to LineTable in docstrings and comments
fatal: corrupt patch at line 56
Patch failed at 0001 python: fix Linetable case to LineTable in docstrings and comments
The copy of the patch that failed is found in:
   /home/ciro/git/binutils-gdb/src/.git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

Beachten Sie, wie git die Lösung ausgibt: To restore the original branch and stop patching, run "git am --abort".

Dann habe ich die Nachricht offensichtlich ignoriert und sofort eine gefixte Version ausprobiert:

git am good.patch

und bekam den Fehler.

Git Fehler vorheriges Rebase Verzeichnis gitrebase apply existiert noch aber Mbox ist angegeben
sashoalm

Ok, es stellte sich heraus, dass ich das Verzeichnis löschen musste .git/rebase-apply. Danach funktioniert es (oder gibt mir zumindest andere Fehler, die sagen, dass die E-Mail wieder falsch ist). Ich habe immer noch keine Ahnung, was der Fehler eigentlich bedeutet oder warum es einen Fehler gab.

Bearbeiten: Wie die Kommentare unten andeuten, git am --abort oder git rebase --abort könnte eine bessere Möglichkeit sein, das Problem zu beheben, aber ich habe es nicht getestet.

  • Der Fehler bedeutet, dass Sie irgendwann eine ausgeführt haben git rebase das aufgrund eines Konflikts gestoppt wurde und darauf wartete, dass Sie einige Aktionen ausführen und ausführen git rebase --continue zu beenden. Der richtige Weg, diese Situation zu lösen, ist entweder a) was zu beheben git rebase hatte Probleme mit und dann git rebase --continue, oder b) git rebase --abort. Ihr Repository kann jetzt verwirrt sein oder auch nicht. Lesen git help rebase für mehr Informationen.

    – Twalberg

    12. Juni 14 um 14:15 Uhr

  • Die “Rebase” wurde verursacht durch git apply oder git am. Nachdem sie (wegen der falschen E-Mail) gescheitert waren, haben sie dieses Verzeichnis erstellt. Ich hatte keinen Grund zu der Annahme, dass Git das Anwenden eines Patches tatsächlich als Rebase betrachtet.

    – Saschoalm

    12. Juni 14 um 15:30 Uhr


  • +1 für den Vorschlag git rebase --abort das hätte meine probleme behoben. Wenn das Problem durch eine fehlerhafte Zusammenführung verursacht wurde, git am --abort kann der richtige Weg sein.

    – Barton Chittenden

    2. Juli 14 um 19:53 Uhr


  • Das Problem in meinem Fall ist es gesagt git rebase --abort würde nicht funktionieren, da git am bereits lief. Ich denke, entweder müssen Sie das Verzeichnis loswerden, wie Sie vorgeschlagen haben, oder es ausführen git am --abort.

    – Kevin Ghadyani

    6. Januar 15 um 22:17 Uhr

  • dies kann bei anderen Befehlen der Fall sein. Anstatt also Befehle blind zu kopieren, führen Sie sie aus git status und die ersten paar Zeilen sagen Ihnen, ob ein Rebase/am/etc im Gange ist und welche Optionen Sie haben.

    – gcb

    12. Januar 15 um 0:35 Uhr

.

582860cookie-checkGit-Fehler: vorheriges Rebase-Verzeichnis .git/rebase-apply existiert noch, aber Mbox ist angegeben

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

Privacy policy