恢复交互式git rebase

完成一个功能分支后,在git rebase -i我意外删除了所有提交。 我不完全确定,但我怀疑,我没有压扁提交,而是用提交消息替换了整个条目。

http://shafiulazam.com/gitbook/4_interactive_rebasing.html说:

交互式rebase可以做的最后一件有用的事情就是放弃提交。 如果不是为提交行选择“pick”,“squash”或“edit”,只需删除该行,它将从历史记录中删除提交。

我的问题是:有没有办法恢复/取消这个?


如果你刚刚完成了rebase,你可以试试这里提到的:

git reset --hard ORIG_HEAD

作为JakubNarębski的详细资料:

ORIG_HEADHEAD先前状态,由具有可能危险行为的命令设置,以便于恢复它们。
Git有reflog的用处不大: HEAD@{1}大致等于ORIG_HEADHEAD@{1}始终是HEAD最后一个值, ORIG_HEAD是危险操作前的HEAD最后一个值)。

如果自rebase以来执行了一些操作, reflog仍然可以提供帮助。


你可以做“git reflog”并找回你的旧头。

链接地址: http://www.djcxy.com/p/23539.html

上一篇: Reverting an interactive git rebase

下一篇: Undo Git Rebase