git恢复到某个提交

时间:2011-07-22 17:57:06

标签: git commit revert

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

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

这是我想要恢复的提交。任何帮助都会成为救星!

3 个答案:

答案 0 :(得分:227)

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

答案 1 :(得分:38)

您可以通过输入以下命令

来恢复工作目录和索引下的所有文件
git reset --hard <SHAsum of your commit>

您也可以输入

git reset --hard HEAD #your current head point

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

希望有所帮助

答案 2 :(得分:15)

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

使用git revert <commit>将创建新的提交,以恢复您不想拥有的提交。

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

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