恢复到特定的sha或commit

时间:2011-11-17 02:27:55

标签: git rollback revert

我正在尝试恢复到特定的提交(3d5575f8e4c97ddab8ad5d540fee4664c04db75d),但是当我这样做时:

git revert 3d5575f8e4c97ddab8ad5d540fee4664c04db75d

它说:

fatal: 'revert' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.

我不关心这些更改,我也希望丢失这些更改,恢复到该提交(软恢复,不想丢失文件)然后重新进行更改。我当地的东西都搞砸了。有什么帮助吗?

2 个答案:

答案 0 :(得分:16)

我认为你想使用git reset 3d5575f8e4c97ddab8ad5d540fee4664c04db75d。这将保持您的工作文件不变,但将HEAD重置为您指定的提交。此外,它还应重置您的索引(清除您选择提交,添加,删除等的文件)。

如果您想要删除对工作文件的所有更改,请使用git reset --hard 3d5575f8e4c97ddab8ad5d540fee4664c04db75d

答案 1 :(得分:3)

你想这样做:

 git reset 3d5575f8e4c97ddab8ad5d540fee4664c04db75d

这会将您“重置”为提交指定。

git revert只是创建一个新的提交,它会恢复该提交的更改,这可能不是你想要的。