web-dev-qa-db-ja.com

gitリベースと削除されたリベースブランチにより、「インタラクティブリベースはすでに開始されています」というエラーメッセージが表示されます

いくつかのブランチで何かを試していたので、一時的なブランチに基づいてリベースし、別の方法でリベースを完了しないことにしたときに、いくつかの競合を解決している最中でした。次に、関係する一時的なブランチを削除して、陽気な道を進みました。数時間後、別のブランチをリベースしてこのエラーメッセージを表示したかった

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という名前の別のブランチを作成しようとしましたが、サイコロはありません

これを解決する方法はありますか?

21
tee

うーん、それは厄介です。ブランチを再作成することも私の最初の試みでした。これに失敗すると、リベース状態を含む.git/rebase-mergeディレクトリを削除できるはずです。 (必要に応じて、安全のために代わりに横に移動します。)それがなくなると、Gitはリベースが進行中であったことを知る方法がなくなるはずです。ブランチを見て、プロセスでコミットを失うことができていないことを確認してください。そうすれば、元気になります。

20
Cascabel

git statusをチェックし、最後のリベース後にブランチをチェックアウトしない場合は、ブランチに参加していないことを確認してください。

リベースが非ブランチエリアに転送するため、git rebase --abortコマンドを使用して最後のリベースを中止し、ブランチをチェックアウトしてブランチに移動し、新しいリベースを開始する必要があります。

10
Dau

リベースを試みたときに、失敗しなかった非常によく似たエラーが発生しました。上記のヒントはどれも役に立ちませんでした。これが私が見ていたものです:

_$ 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)では、リベースが失敗することがわかります。調べてみると、リベースしようとしているブランチと同じ名前のタグを誤って作成してしまったことがわかりました。タグを削除すると、このエラーがなくなりました。

1
Eliot