Wie kann ich eine interaktive Rebase abbrechen, wenn --abort nicht funktioniert?

127

Ich habe mich über eine interaktive Rebase in ein Durcheinander gebracht und möchte es jetzt abbrechen. (dh gehen Sie zurück zu dem Punkt, bevor ich in den interaktiven Rebase-Modus versetzt wurde, in meinem Fall via git pull --rebase.) Der Weg, dies zu tun, scheint via zu sein git rebase --abort, aber das funktioniert nicht:

$ git rebase --abort
error: Ref refs/heads/master is at 55b388c141b1485b1acd9e050dbeb0eb90ef2ee7 but
expected b918ac16a33881ce00799bea63d9c23bf7022d67
fatal: Cannot lock the ref 'refs/heads/master'.
Could not move back to refs/heads/master

Wie kann ich den interaktiven Rebase-Modus verlassen und alle Verweise darauf bereinigen? ( git reset --hardErfolgreich, aber bringt mich nicht aus dem Rebase-Modus.)

mjs
quelle

Antworten:

83

Versuchen Sie, den auf dem Bildschirm angezeigten Ratschlägen zu folgen, und setzen Sie zuerst den HEAD Ihres Masters auf das erwartete Commit zurück.

git update-ref refs/heads/master b918ac16a33881ce00799bea63d9c23bf7022d67

Brechen Sie dann die Rebase erneut ab.

P Shved
quelle
43
Das als "Rat" zu bezeichnen, ist das unverdienteste Kompliment, das ich mir vorstellen kann, für jeden, der für die schreckliche Git UX verantwortlich ist
Marco Faustinelli