在 git 中如何撤消结帐?

我刚刚检查了本地 Git 回购的一个早期提交。我没有做任何改动,我只是看着它。现在我想回到我最近的承诺-我该怎么做?

正是我用来检查它的命令:

git checkout e5dff6b3c5d704f9b598de46551355d18235ac08

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

285818 次浏览

先试试这个:

git checkout master

(如果您所在的分支与 master(或 main)不同,则使用那里的分支名称。)

如果没用,试试..。

对于单个文件:

git checkout HEAD /path/to/file

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

git reset --hard HEAD

如果这不起作用,那么你可以在 reflog 中找到你的老头 SHA,并重置为:

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

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

你可能需要 git checkout master或者 git checkout [branchname]

要撤消 git checkout,请执行 git checkout -,类似于 shell 中的 cdcd -

如果您正在使用 github,那么默认分支的名称很可能不再是 master。请尝试使用 git checkout main