web-dev-qa-db-fra.com

git rebase et les branches rebasées supprimées provoquant le message d'erreur "Rebase interactive déjà démarrée"

J'essayais quelque chose avec quelques branches, alors je me suis basé sur une branche temporaire et j'étais en train de résoudre certains conflits lorsque j'ai décidé de ne pas terminer la refonte autrement. J'ai ensuite supprimé la branche temporaire impliquée et poursuivi mon chemin joyeux. Quelques heures plus tard, je voulais rebaser une autre branche et recevoir ce message d'erreur

Interactive rebase already started

git rebase --abort affiche ce message d'erreur

error: unable to resolve reference refs/heads/tmp/Rails3-Rails-2-fixes: No such file or directory
fatal: Cannot lock the ref 'refs/heads/tmp/Rails3-Rails-2-fixes'.
Could not move back to refs/heads/tmp/Rails3-Rails-2-fixes

J'ai essayé de créer une autre branche nommée tmp/Rails3-Rails-2-fixes mais pas de dés

Des idées comment je peux résoudre ceci?

21
tee

Hm, c'est maladroit. Recréer la branche aurait été mon premier essai aussi. À défaut, vous devriez pouvoir supprimer le répertoire .git/rebase-merge, qui contient l'état de base. (Déplacez-le plutôt sur le côté pour plus de sécurité, si vous le souhaitez.) Une fois que tout est parti, Git ne devrait plus avoir aucun moyen de savoir qu'il y avait une rebase en cours. Examinez vos succursales pour vous assurer que vous n’avez pas réussi à perdre des commits dans le processus, et vous serez bon!

20
Cascabel

vérifiez le git status et voyez si vous n'achetez aucune branche après le dernier changement de base, vous ne vous trouvez donc sur aucune branche.

becase rebase vous transfère dans une zone qui n’est pas une branche, vous devez donc annuler la dernière base en utilisant la commande git rebase --abort et extraire une branche pour aller sur la branche et commencer une nouvelle base

10
Dau

Je viens de recevoir une erreur très similaire lors d'une tentative de rebase qui n'a pas échoué. Aucun des conseils ci-dessus n'a aidé. Voici ce que je voyais:

$ git pull --rebase
warning: refname 'xport1' is ambiguous.
First, rewinding head to replay your work on top of it...
Fast-forwarded xport1 to 98b787b0ea1f7f6771a5b1b56c7e8cc67b84c242.
error: Ref refs/heads/xport1 is at 98b787b0ea1f7f6771a5b1b56c7e8cc67b84c242 but expected 3865d63ffb3a1a495363bfbd9ebb089e16152839
fatal: Cannot lock the ref 'refs/heads/xport1'.
Could not move back to refs/heads/xport1

Il s'avère que si un nom de référence est ambigu, la base de données échouera, du moins sur la version git 1.7.10.2 (Apple Git-33). J'ai fouillé et j'ai vu que j'avais accidentellement créé une étiquette portant le même nom que la branche sur laquelle je tentais de me baser. La suppression de la balise a éliminé cette erreur.

1
Eliot