如何回滚到特定的git提交

时间:2013-02-05 08:31:09

标签: git rollback

我已经使用此命令git reset --hard HEAD^回滚到之前的一些提交,我想要做的就是前滚我知道这不是我最近做的提交的正确术语。发生了什么事情是当我使用该命令时删除了一堆文件,现在我不知道如何回来。我正在使用github有没有办法从github下拉并覆盖当前目录?

2 个答案:

答案 0 :(得分:3)

查看您的问题,您要检索的提交是GitHub仓库的master分支上的当前提交,您必须执行以下操作

git reset --hard origin/master

警告这将删除您在HEAD^上回滚后可能进行的所有未提交的修改。

之前,您可能想要

git fetch origin

确保您从GitHub回购中获得最新更改。

答案 1 :(得分:1)

看看git reflog。在其输出中,您应该找到要重置的提交。然后git reset --hard到它,然后你回到第一个reset之前的位置。

git reflog特别有用,如果您真的搞砸了本地存储库并且没有可用于提取提交的远程存储库。只要你没有调用git prune来删除旧的提交或git reflog expire来清理reflog,它应该可以正常工作。