Git如何恢复旧提交

时间:2012-10-09 16:53:07

标签: git commit restore

我需要查看几周前我做过的提交,例如当我做的时候

> git log --oneline -10
b45e80d ten
711aa9c nine
166dbfa eight
26abb54 seven
ddd6bb6 siz
54430c3 five
ca2d76f four
81ccc8c three
d362fbc two
7d43aba one

我需要恢复我的网站暂时,以表明它是在我完成此次提交后81ccc8c three

我该怎么做?


在我尝试

之前,我把repo推到bitbucket是件好事
git revert 81ccc8c

并且我的文件没有在项目文件夹中更新,但是当我git status时它显示了一堆更改,并且不会让我revert回到任何其他提交。

我该怎么做才回到b45e80d ten

2 个答案:

答案 0 :(得分:4)

您希望结帐提交:

git checkout 81ccc8c

这将更新您的目录以反映该提交的内容。您可能必须首先存储您的更改。之后,您将处于detached head state,除非您将某个分支与当前提交相关联,否则您应该避免进行任何提交。

答案 1 :(得分:1)

您可以使用结帐:

git checkout 81ccc8c

这将使您离开当前分支并将您置于用作checkout参数的提交状态。要返回您的分支,只需检查您所在的分支(例如主人):

git checkout master

您不想使用还原。这将应用一个新的提交,撤消您作为参数传递的提交,而不是您想要的。要撤消意外还原的影响,您应该重置回“十”提交:git reset --hard b45e80d