Jak przerwać interaktywną rebase, jeśli opcja --abort nie działa?


127

Wpadłem w zamieszanie dzięki interaktywnej rebase i teraz chcę ją przerwać. (tj. wróć do punktu, zanim zostałem przeniesiony do interaktywnego trybu rebase, w moim przypadku przez git pull --rebase). Sposób na to wydaje się być przez git rebase --abort, ale to nie działa:

$ 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

Jak wyjść z interaktywnego trybu rebase i wyczyścić wszystkie odniesienia do niego? ( git reset --hardudaje się, ale nie wyrzuca mnie z trybu rebase).

Odpowiedzi:


83

Postaraj się postępować zgodnie z radą, którą widzisz na ekranie i najpierw zresetuj HEAD swojego mistrza do zatwierdzenia, którego oczekuje.

git update-ref refs/heads/master b918ac16a33881ce00799bea63d9c23bf7022d67

Następnie ponownie przerwij rebase.


43
Nazywanie tego „radą” jest najbardziej niezasłużonym komplementem, jaki mogę wymyślić dla każdego, kto jest odpowiedzialny za okropny Git UX
Marco Faustinelli
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.