Làm cách nào để hủy bỏ một rebase tương tác nếu --abort không hoạt động?


127

Tôi đã rơi vào tình trạng hỗn loạn thông qua một cuộc nổi loạn tương tác và bây giờ tôi muốn hủy bỏ nó. (tức là quay trở lại điểm trước khi tôi bị rơi vào chế độ rebase tương tác, trong trường hợp của tôi thông qua git pull --rebase.) Cách để làm điều này dường như là thông qua git rebase --abort, nhưng điều này không hiệu quả:

$ 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

Làm cách nào tôi có thể thoát khỏi chế độ rebase tương tác và dọn sạch tất cả các tham chiếu đến nó? ( git reset --hardthành công, nhưng không thả tôi ra khỏi chế độ rebase.)

Câu trả lời:


83

Cố gắng làm theo lời khuyên bạn nhìn thấy trên màn hình, và trước tiên hãy đặt lại ĐẦU của chủ của bạn theo cam kết mà nó mong đợi.

git update-ref refs/heads/master b918ac16a33881ce00799bea63d9c23bf7022d67

Sau đó, hủy bỏ cuộc nổi loạn một lần nữa.


43
Gọi đó là một "lời khuyên" là lời khen không đáng có nhất mà tôi có thể nghĩ cho bất cứ ai chịu trách nhiệm về Git UX khủng khiếp
Marco Faustinelli
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.