¿Cómo abortar un rebase interactivo si --abort no funciona?

127

Me metí en un lío a través de un rebase interactivo, y ahora deseo abortarlo. (es decir, volver al punto anterior antes de dejarme caer en el modo de rebase interactivo, en mi caso vía git pull --rebase.) La forma de hacerlo parece ser a través de git rebase --abort, pero esto no 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

¿Cómo puedo salir del modo de rebase interactivo y limpiar todas las referencias a él? ( git reset --hardtiene éxito, pero no me deja fuera del modo rebase).

mjs
fuente

Respuestas:

83

Intenta seguir los consejos que ves en la pantalla y primero restablece el HEAD de tu maestro al commit que espera.

git update-ref refs/heads/master b918ac16a33881ce00799bea63d9c23bf7022d67

Luego, aborta el rebase nuevamente.

P Shved
fuente
43
Llamar a eso un "consejo" es el cumplido más inmerecido que se me ocurre para quien esté a cargo del horrible Git UX
Marco Faustinelli