git rebase и удаленные перебазирующие ветки, вызывающие сообщение об ошибке «Интерактивная перебазировка уже запущена» - PullRequest
21 голосов
/ 17 января 2012

Я пробовал что-то с парой веток, поэтому я сделал перебазирование во временную ветку и был в процессе разрешения некоторых конфликтов, когда я решил не завершать ребазинг другим способом. Затем я удалил временную ветку и продолжил свой веселый путь. Через пару часов я захотел перебазировать другую ветку и получить это сообщение об ошибке

Interactive rebase already started

git rebase --abort отображает это сообщение об ошибке

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

Пытался просто создать еще одну ветку с именем tmp/rails3-rails-2-fixes, но без игры в кости

Есть идеи, как мне решить эту проблему?

Ответы [ 3 ]

20 голосов
/ 17 января 2012

Хм, это неловко.Воссоздание ветки было бы моей первой попыткой.В противном случае вы сможете удалить каталог .git/rebase-merge, который содержит состояние rebase.(Вместо этого переместите его в сторону, чтобы быть в безопасности, если хотите.) Как только это закончится, у Git не должно быть никакого способа узнать, что произошла перебазировка.Взгляните на свои ветки, чтобы убедиться, что вы не потеряли ни одного коммита в процессе, и все будет хорошо!

10 голосов
/ 17 января 2012

отметьте git status и убедитесь, что вы не извлекли какую-либо ветку после последней перебазировки, тогда вы не находитесь ни в одной из ветвей.

, потому что перебазирование переводит вас в область, не относящуюся к ветке, поэтому вам нужно прервать последнююВыполните ребазинг с помощью команды git rebase --abort и извлеките ветку, чтобы перейти к ветке и начать новую ребазинг

1 голос
/ 30 января 2013

Я только что получил очень похожую ошибку во время попытки перезагрузки, которая не удалась.Ни один из советов выше не помог.Вот что я видел:

$ 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

Оказывается, что если ссылочное имя неоднозначно, ребаз не удастся, по крайней мере в git версии 1.7.10.2 (Apple Git-33).Я осмотрелся и увидел, что случайно создал тег с тем же именем, что и ветка, на которую я пытался сделать ребазинг.Удаление тега избавило от этой ошибки.

...