如何在Git rebase之后恢复被删除的状态

时间:2013-07-13 12:54:31

标签: git git-rebase

“基本Rebase”示例中的

Here(图3-27)显示experiment分支如何与master分支重新绑定。结果(图3-29)从C3状态补丁开始,在我们创建的C4C3'上应用该补丁。然后,最后,C3作为状态被删除。我的问题是如何恢复C3州?

2 个答案:

答案 0 :(得分:1)

如果您运行git fsck --lost-found,您将获得标签或分支无法访问的提交列表。在rebase中丢失的提交将列在清单上。找到最新的一个,并git checkout对应的哈希值。然后,您可以标记它,制作分支或任何您喜欢的内容。

See here for a working example

答案 1 :(得分:0)

假设您想要返回提交状态C3,请执行

git reflog

搜索提交C3 {来自reflog - e3eee5a HEAD@{4}: commit: C3}的行,然后

git reset e3eee5a

您现在将返回C3

引入状态C4保持更改

要删除C4,用户reset --hard <commit>

引入的更改