撤消&#39; git reset <sha>&#39; </sha>

时间:2015-01-20 10:48:58

标签: git

我做了

git reset <sha>

回到我的存储库中相当古老的sha,我想回到原来的头上。我怎么做?如果我做了

git pull
那会这么做吗?

此外,我的存储库中现在有很多非暂存文件。

1 个答案:

答案 0 :(得分:3)

问题是当您将状态重置为旧状态时,您丢失了历史记录。所以你没有看到更新的提交。你能做的就是再次拉你说的话。然后从远程存储库中提取所有更新的更改。

其他解决方案是使用 reflog 恢复未链接的提交。

https://www.atlassian.com/git/tutorials/rewriting-history/git-reflog

Atlassian页面的示例:

#git reflog

0a2e358 HEAD@{0}: reset: moving to HEAD~2
0254ea7 HEAD@{1}: checkout: moving from 2.2 to master
c10f740 HEAD@{2}: checkout: moving from master to 2.2

然后您可以搜索条目并将其恢复。

#git reset --hard 0254ea7