1

我试图通过使用该git checkout命令来获取我的代码的以前副本。不过,在使用它之前,我使用提交了最新版本的代码git commit.

使用后git checkout到以前的版本后,我对代码进行了更改。Git 现在通知我,因为我已经进行了更改,所以我不能再恢复到我提交的最新版本。

我不在乎我对我签出的这段代码所做的更改,我只想回到最新版本的代码。我该怎么做呢?

使用该命令git log不再显示检出前的最新版本到以前的版本。

4

2 回答 2

2

你肯定处于超然状态。
当您签出不在您的分支之一(如标记,git checkout V1.0)尖端的提交时,就会发生这种情况。

dd http://marklodato.github.com/visual-git-guide/checkout-b-detached.svg

您可以通过切换回现有分支(例如git checkout master)来丢弃临时提交和合并。
您还可以使用git reset:查看“git reset”和“git checkout”有什么区别?,以及“ Git 中的 HEAD 和 ORIG_HEAD

于 2010-09-20T20:16:45.073 回答
0

您可以使用git reset --hard HEAD丢弃所有未提交的更改,包括在磁盘上的更改,但很难判断这是否是您想要的。发布git status您已经尝试过的命令的输出和输出会有很大帮助

于 2010-09-20T20:17:20.843 回答