Como abortar um rebase interativo se --abort não funcionar?

127

Eu me envolvi em uma confusão por meio de um rebase interativo e agora desejo abortar. (ou seja, volte ao ponto antes de eu entrar no modo de rebase interativo, no meu caso, via git pull --rebase.) A maneira de fazer isso parece ser via git rebase --abort, mas isso não funciona:

$ 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

Como posso sair do modo de rebase interativo e limpar todas as referências a ele? ( git reset --hardobtém êxito, mas não me tira do modo rebase.)

mjs
fonte

Respostas:

83

Tente seguir os conselhos que você vê na tela e primeiro redefina o HEAD do seu mestre para o commit que ele espera.

git update-ref refs/heads/master b918ac16a33881ce00799bea63d9c23bf7022d67

Em seguida, aborte a rebase novamente.

P Shved
fonte
43
Chamando que um "conselho" é o complemento mais imerecida que eu posso pensar para quem está no comando da horrível Git UX
Marco Faustinelli