使用GitHub,如何将本地存储库恢复到上一次推送到原始存储库之前的状态?

时间:2019-02-26 08:04:58

标签: git github

我做了一些工作,致力于这项工作并将其推向了原点。现在我意识到我想回到工作之前的点。

我想将我的本地存储库和源存储库恢复到对源的较早提交,并且我不需要保留我在本地或源上所做的任何更改。

我真的很想确定自己没有犯错。有人可以给我一些建议。我是否需要先恢复本地repro,然后再将其推送到原点?

这是我认为我需要做的命令:

git reset --hard HEAD~1

之后是一次提交并推送到原点

但这对我来说有点冒险,所以如果我是正确的话,我想得到一些确认。

谢谢

1 个答案:

答案 0 :(得分:1)

让我们假设这样的最近历史,由于提交D和E不好,因此您想返回到提交C。我还将假设这发生在master分支上,但是随时可以适应。

A--B--C--D--E
            ^
          master <<< HEAD

如何找到要返回的“好”提交的引用?

git log --oneline -15

应该足以识别它(存储其哈希并在下一个命令中使用)


现在让我们在本地进行:

git checkout master
git reset --hard C

然后在远端(github)上反映您的新情况

git push --force origin HEAD

最终情况将是

A--B--C                   D--E (dangling, will be garbage collected later)
      ^
    master <<< HEAD
相关问题