259

如何将本地副本上的所有文件恢复为某个提交?

commit 4a155e5b3b4548f5f8139b5210b9bb477fa549de
Author: John Doe <Doe.John.10@gmail.com>
Date:   Thu Jul 21 20:51:38 2011 -0500

这是我想恢复的提交。任何帮助都将成为救命稻草!

4

3 回答 3

405

git reset --hard 4a155e5 将 HEAD 移回您想要的位置。如果您不希望任何内容指向您刚刚删除的历史记录,则可能需要在此之前删除其他引用。

于 2011-07-22T18:12:34.347 回答
60

您可以通过键入以下命令来恢复工作目录和索引下的所有文件

git reset --hard <SHAsum of your commit>

您也可以键入

git reset --hard HEAD #your current head point

或者

git reset --hard HEAD^ #your previous head point

希望能帮助到你

于 2011-07-22T18:20:55.610 回答
31

http://www.kernel.org/pub/software/scm/git/docs/git-revert.html

usinggit revert <commit>将创建一个新的提交,该提交将还原您不想拥有的提交。

您可以指定要还原的提交列表。

另一种选择: http: //git-scm.com/docs/git-reset

git reset会将您的副本重置为您想要的提交。

于 2011-07-22T18:02:38.560 回答