Git undo - 确保本地文件与Git上的先前提交相同

时间:2011-08-20 12:59:55

标签: git

请帮助我是Git的新手 - 我的应用程序中出现了严重错误,我想恢复之前的提交 - 但没有任何工作 - 无论我做什么,我仍然会看到本地硬盘上的后续文件。如何恢复到先前的提交并确保这是我必须在本地计算机上使用的?

3 个答案:

答案 0 :(得分:2)

如果您没有推,请尝试git reset --hard HEAD

否则git revert HEAD将创建与您最近提交时完全相反的提交。

您还可以指定提交哈希而不是HEAD来撤消特定提交。

答案 1 :(得分:1)

重置回上次提交:

$ git reset --hard HEAD

请注意,所有未提交的更改都将被丢弃。这会将所有文件还原为上次提交的状态。还可以编辑HEAD以匹配提交的sha1哈希以恢复为特定提交。

有关重置的详细信息,请阅读:http://progit.org/2011/07/11/reset.html

答案 2 :(得分:0)

首先,您可以使用git stash临时取消应用本地更改。您可以使用git stash apply返回这些更改。

当问题不在您的本地更改中时,您可以使用git checkout <commit-id>检查旧版本,其中commit-id是提交的哈希值,分支名称或特殊引用(如HEAD ^)。您之后处于detached head,这意味着如果您要对签出的修订版本进行任何代码更改,则必须从此修订版本创建一个新分支(git checkout -b <new-branchname>)。