Git:从失败的rebase中恢复

时间:2012-02-28 12:16:07

标签: git reset rebase

我只是试图改变我的一个功能分支并出现问题 - 现在我想弄清楚如何撤消这个。

在我的功能分支上,我只是在git rebase develop上提交了一个错误修正后我做了一个:develop。 这给了我:

$ 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-attempt之前的样子。不幸的是,ORIG_HEAD似乎没有在rebase之前正确设置,因为我可以看到它显示在另一个功能分支的提交旁边(我在尝试重新绑定此功能分支之前重新设置)。

重置到我当前功能分支上的最后一个可见提交是否可行?

- 曲

1 个答案:

答案 0 :(得分:4)

您可以使用git reflog查看提交内容,复制提交编号并执行git reset --hard <number>