Git переадресовывать и удалять ветвящиеся ветки, вызывая сообщение об ошибке "Interactive rebase already started"
Я пытался что-то сделать с несколькими ветвями, поэтому я перераспределился на временную ветку и был в середине разрешения некоторых конфликтов, когда решил не переустанавливать его другим способом. Затем я удалил временный филиал и пошел своим весельем. Через пару часов я захотел переустановить другую ветку и получить это сообщение об ошибке
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
, но не кубик
Любые идеи, как я могу это разрешить?
Ответы
Ответ 1
Hm, это неудобно. Воссоздание ветки было бы моей первой попыткой. В противном случае вы сможете удалить каталог .git/rebase-merge
, содержащий состояние переадресации. (Если хотите, переместите его в сторону, чтобы быть в безопасности, если хотите.) Как только это исчезло, Git не должен иметь никакого способа узнать, что произошла перестановка. Посмотрите на свои ветки, чтобы убедиться, что вам не удалось потерять какие-либо коммиты в процессе, и вы будете хорошо!
Ответ 2
проверьте git status
и посмотрите, не проверяете ли вы какую-либо ветку после последней переустановки, тогда вы не находитесь в какой-либо ветке.
becase rebase переводит вас в область без ветвления, поэтому вам нужно отменить последнюю rebase, используя команду git rebase --abort
и проверить ветку, чтобы перейти на ветку и начать новую перезагрузку
Ответ 3
У меня была очень похожая ошибка во время попытки rebase, которая не терпела неудачу. Ни один из приведенных выше советов не помог. Вот что я видел:
$ 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
Оказывается, что если ссылочное имя является неоднозначным, rebase завершится неудачно, по крайней мере, на git version 1.7.10.2 (Apple Git-33)
.
Я ткнул и увидел, что случайно создал тег с тем же именем, что и ветка, которую я пытался переделать. Удаление этой метки избавилось от этой ошибки.