Git reset --soft 和回到最新提交

18
我刚刚使用了 "git --reset soft" 命令回到之前的一个提交状态。现在如果我想回到之前的最新提交状态,怎么办?也就是回到最新的提交状态?我已经尝试使用 "git log" 命令,但是那里列出的提交记录不包括最新的提交状态。
2个回答

42

git reset 不是用于查看旧提交记录的正确工具,因为在许多模式下它实际上通过删除提交来更改历史记录,正如您所发现的那样。

如果您想暂时将旧提交记录返回到您的工作树中,只需使用 git checkout。在这种情况下,git checkout HEAD^ 将使您回到上一个提交记录。git checkout HEAD~3 将使您回到三个提交记录之前,以此类推。或者您可以使用从 git log 中获取的哈希值。

然后,您可以通过执行 git checkout master(将 master 替换为任何分支的名称)返回到最新的提交记录。


30

你是否想撤销重置操作?因为你已经从git中恢复了,所以它不会在git日志中显示。尽管如此,它仍会在你的代码中显示出来。

git reflog

这将为您列出所有不同分支的清单。

git reset HEAD@{1}

如果你的 reset 是最后一件事情,那么这个代码片段应该可以解决你的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接