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?
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.
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
.
5828600cookie-checkGit-Fehler: vorheriges Rebase-Verzeichnis .git/rebase-apply existiert noch, aber Mbox ist angegebenyes