Как отменить интерактивную перестановку, если --abort не работает?

127

У меня возникла путаница из-за интерактивной перестановки, и теперь я хочу ее прервать. (т.е. вернитесь к тому моменту, который был до того, как меня перебросили в интерактивный режим перебазирования, в моем случае через git pull --rebase.) Способ сделать это кажется через git rebase --abort, но это не работает:

$ 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

Как мне выйти из интерактивного режима перебазирования и очистить все ссылки на него? ( git reset --hardуспешно, но не выводит меня из режима перебазирования.)

MJS
источник

Ответы:

83

Постарайтесь последовать совету, который вы видите на экране, и сначала сбросьте HEAD вашего мастера на ожидаемую фиксацию.

git update-ref refs/heads/master b918ac16a33881ce00799bea63d9c23bf7022d67

Затем снова отмените перебазирование.

П. Швед
источник
43
Назвать это «советом» - самый незаслуженный комплимент, который я могу придумать для того, кто отвечает за ужасный Git UX
Марко Фаустинелли