我刚刚尝试重新设置我的一个功能分支的基础,但出现了问题 - 现在我正在尝试找出如何撤消此操作。
在我的功能分支上,我在 develop
上提交了一个我想要在功能分支中也想要的错误修复后,简单地做了一个:git rebasedevelopment
。
这给了我:
$ git rebase develop
First, rewinding head to replay your work on top of it...
Rename from '.git/HEAD.lock' to '.git/HEAD' failed. Should I try again? (y/n)? n
error: Couldn't set HEAD
fatal: Cannot update the ref 'HEAD'.
could not detach HEAD
好吧,现在我在这个分支上看到一堆暂存文件,但似乎这个分支上的所有提交仍然完好无损(至少我没有丢失一个:)
我想将此分支恢复到尝试 rebase 之前的样子。不幸的是,在 rebase 之前似乎没有正确设置 ORIG_HEAD ,因为我可以看到它显示在另一个功能分支上的提交旁边(在尝试 rebase 此功能分支之前我对其进行了 rebase )。
重置我当前功能分支上的最后一个可见提交是可行的方法吗?
--曲
最佳答案
您可以使用git reflog
要查看它是什么提交,请复制那里的提交号并执行 git reset --hard <number>
关于Git:从失败的 rebase 中恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9481735/