Bagaimana cara membatalkan rebase interaktif jika --abort tidak berfungsi?

127

Saya sendiri mengalami kekacauan melalui rebase interaktif, dan sekarang saya ingin membatalkannya. (yaitu kembali ke titik sebelum saya masuk ke mode rebase interaktif, dalam kasus saya via git pull --rebase.) Cara untuk melakukan ini tampaknya melalui git rebase --abort, tetapi ini tidak berhasil:

$ 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

Bagaimana saya bisa keluar dari mode rebase interaktif, dan membersihkan semua referensi untuknya? ( git reset --hardBerhasil, tetapi tidak membuat saya keluar dari mode rebase.)

mjs
sumber

Jawaban:

83

Coba ikuti saran yang Anda lihat di layar, dan atur ulang KEPALA master Anda terlebih dahulu ke komit yang diharapkannya.

git update-ref refs/heads/master b918ac16a33881ce00799bea63d9c23bf7022d67

Kemudian, batalkan rebase lagi.

P Shved
sumber
43
Menyebut bahwa "nasihat" adalah pujian yang paling tidak layak yang dapat saya pikirkan untuk siapa pun yang bertanggung jawab atas Git UX yang mengerikan
Marco Faustinelli