Git如何恢复旧的提交记录

3
我需要查看几周前我提交的代码,例如当我执行以下操作:
> 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之后的状态。

我该怎么做?


很幸运,在尝试之前我已经将代码库推送到了Bitbucket。

git revert 81ccc8c

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

我该怎么办,只需回到b45e80d ten吗?

2个回答

5
你想要检出那个提交:
git checkout 81ccc8c

这将更新您的目录以反映该提交的内容。您可能需要先隐藏您的更改。之后,您将处于分离的头状态,除非将某个分支与您当前的提交关联,否则请避免进行任何提交。

1

您可以使用结账:

git checkout 81ccc8c

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

git checkout master

你不想使用 revert。它会应用一个新的提交,撤销你传递给 revert 的提交,这不是你想要的结果。为了撤销你意外的 revert,你应该重置回到你的“ten”提交:git reset --hard b45e80d


1
doh,Git 太复杂了,我最好还是手动复制文件...不过 Git 是个好工具,我会继续使用它,但在执行除了暂存、提交和推送之外的任何命令之前,我会先复制我的 Git 仓库以防出错 :) - John Smith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接