git reset --soft并返回最新的提交

时间:2012-07-13 23:32:10

标签: git github

所以我只是做了一个git --reset soft来回到之前的提交。现在,如果我想回到之前的最新提交,该怎么办?即:最新的提交?我尝试使用git log,但是那里列出的提交没有最新的提交。

2 个答案:

答案 0 :(得分:33)

git reset是一个错误的工具,如果您只想返回并查看旧提交,因为在许多模式下它实际上通过删除提交来改变历史记录,如您所发现的那样。

如果您想在工作树中暂时获得旧提交,请使用git checkout。在这种情况下,git checkout HEAD^将返回一个提交。 git checkout HEAD~3将带您回三次提交,依此类推。或者你可以从git log给它哈希。

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

答案 1 :(得分:18)

你想基本撤消你的重置吗? 它不会出现在您的git日志中,因为您已将其还原。 但它会出现在你的

git reflog

这将为您提供所有不同分支的列表。

git reset HEAD@{1}

如果重置是你做的最后一件事,应该解决你的问题。