我严重搞砸了我的代码,我想把它恢复到最后一次提交。
我正在做git status
,我发现我改变了很多文件。我根本不想看到它们。所以我做了git log
并找出了最后一次提交的哈希值。
我在命令中使用了这个哈希:git fetch origin this_hash
并得到了消息:
Mig-macbook-air:ios M$ git fetch origin this_hash
From https://github.com/linkto/myrepo
* branch this_hash -> FETCH_HEAD
但是当我git status
时,我仍然看到文件损坏,我也在IDE中看到它们。我想完全摆脱这些变化,我该怎么做?
我没有做最后一次提交;我刚创建了一个分支并做了提交。
答案 0 :(得分:2)
如果您在运行git status
时看到所有文件,则表示您有很多未提交的本地更改。如果您确定要删除这些更改,请运行git reset --hard head
。
答案 1 :(得分:0)
git fetch
只是从遥控器获取更多提交;它没有触及工作目录。
您需要git checkout <commit-reference>
,它会将该版本检入工作目录。
答案 2 :(得分:-1)
您有多种选择:
请在此处阅读有关如何操作的几种方法:
How to move HEAD back to a previous location? (Detached head)