Comment annuler un rebase interactif si --abort ne fonctionne pas?

127

Je me suis retrouvé dans une confusion via un rebase interactif, et je souhaite maintenant l'abandonner. (c'est-à-dire revenir au point avant que je sois tombé en mode de rebase interactif, dans mon cas via git pull --rebase.) La façon de faire cela semble être via git rebase --abort, mais cela ne fonctionne pas:

$ 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

Comment puis-je sortir du mode de rebase interactif et nettoyer toutes les références à celui-ci? ( git reset --hardréussit, mais ne me fait pas sortir du mode rebase.)

mjs
la source

Réponses:

83

Essayez de suivre les conseils que vous voyez à l'écran et réinitialisez d'abord HEAD de votre maître au commit qu'il attend.

git update-ref refs/heads/master b918ac16a33881ce00799bea63d9c23bf7022d67

Ensuite, abandonnez à nouveau le rebase.

P Shved
la source
43
Appeler cela un "conseil" est le compliment le plus immérité auquel je puisse penser pour celui qui est en charge de l'horrible Git UX
Marco Faustinelli