在旧提交的本地更改后,如何返回到我的分支?

时间:2010-09-20 20:10:59

标签: git git-checkout

我尝试使用git checkout命令获取我的代码的原始副本。在使用之前,我使用git commit提交了最新版本的代码。

git checkout用于以前的版本后,我对代码进行了更改。 Git现在告诉我,因为我做了更改,我再也无法恢复到我提交的最新版本。

我不关心我对此代码所做的更改,我只是想回到最新版本的代码。我该怎么做?

使用命令git log在结帐到之前的版本之前不再显示最新版本。

2 个答案:

答案 0 :(得分:2)

你肯定是detached head mode 如果您签出的提交不在您的某个分支的顶端(例如标记,git checkout V1.0),就会发生这种情况。

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

您可以通过切换回现有分支(例如git checkout master)来放弃临时提交和合并。
您也可以使用git reset:查看What's the difference between 'git reset' and 'git checkout'?,以及“HEAD and ORIG_HEAD in Git

答案 1 :(得分:0)

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