我正在尝试使用几个分支,所以我在一个临时分支上进行了重新设定,当我决定不以另一种方式完成rebase时,我正在解决一些冲突。然后我删除了所涉及的临时分支并继续我的快乐方式。几个小时后,我想重新定义另一个分支并收到此错误消息
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
但没有骰子的分支
我有什么想法可以解决这个问题吗?
答案 0 :(得分:20)
.git/rebase-merge
目录。 (如果你愿意的话,把它移到一边而不是安全的。)一旦那个消失了,Git就没有办法知道正在进行的改造。看看你的分支机构,确保你没有在这个过程中失去任何提交,你会很好!
答案 1 :(得分:10)
检查git status
,看看你是否在最后一次重组后没有结账,那么你就不在任何一个分支上。
因为rebase将你转移到非分支区域,所以你必须使用git rebase --abort
命令中止最后一个rebase并检查分支以进入分支并开始新的rebase
答案 2 :(得分:1)
我在尝试的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版本1.7.10.2 (Apple Git-33)
上。
我捅了一下,看到我不小心创建了一个与我试图改变的分支同名的标签。删除标签可以消除此错误。