如何在git中撤消结帐?

时间:2010-08-30 15:39:52

标签: git

我刚刚从我当地的git repo检查了一个早先的提交。我没有对它做任何改动,我只是看着它。现在我想回到我最近的提交 - 我该怎么做?

我用来检查它的确切命令:

git checkout e5dff6b3c5d704f9b598de46551355d18235ac08

现在,当我输入git log时,在顶部我看到这个签出提交,但我的后来都没有提交。我不小心删除了那些?

4 个答案:

答案 0 :(得分:157)

首先尝试:

git checkout master

(如果您所在的分支与master不同,请改用分支名称。)

如果不起作用,请尝试...

对于单个文件:

git checkout HEAD /path/to/file

对于整个存储库工作副本:

git reset --hard HEAD

如果这不起作用,那么你可以查看reflog以找到你的旧头部SHA并重置为:

git reflog
git reset --hard <sha from reflog>

HEAD是一个始终指向当前分支中最新提交的名称。

答案 1 :(得分:42)

撤消git checkout执行git checkout -,与shell中的cdcd -类似。

答案 2 :(得分:13)

您可能需要git checkout mastergit checkout [branchname]

答案 3 :(得分:1)

如果您使用的是 github,则默认分支的名称可能不再是 master。试试git checkout main