我尝试使用git checkout
命令获取我的代码的原始副本。在使用之前,我使用git commit
提交了最新版本的代码。
将git checkout
用于以前的版本后,我对代码进行了更改。 Git现在告诉我,因为我做了更改,我再也无法恢复到我提交的最新版本。
我不关心我对此代码所做的更改,我只是想回到最新版本的代码。我该怎么做?
使用命令git log
在结帐到之前的版本之前不再显示最新版本。
答案 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
的输出和您已经尝试过的命令的输出会有很多帮助