如何撤消对github的提交和推送?

如何撤消对github的提交和推送?,git,github,Git,Github,我在我的github站点上做了一些更改,但在我推送它之后它就不起作用了,所以我做了很多更改,请尝试再次推送。。仍然不起作用。。那么,如何将github站点回滚到两次提交和推送之前> git reset --hard HEAD~2 git push -f 最好的建议是了解git reflog,然后直接重置为所需的commit SHA。使用git revert sha1命令。通过运行git log获取sha1。完成后推送。您将回滚本地计算机,然后强制推送到github。。。我建议您创建一个副本,因

我在我的github站点上做了一些更改,但在我推送它之后它就不起作用了,所以我做了很多更改,请尝试再次推送。。仍然不起作用。。那么,如何将github站点回滚到两次提交和推送之前>

git reset --hard HEAD~2
git push -f

最好的建议是了解
git reflog
,然后直接重置为所需的commit SHA。

使用
git revert sha1
命令。通过运行
git log
获取
sha1
。完成后推送。

您将回滚本地计算机,然后强制推送到github。。。我建议您创建一个副本,因为回滚将具有破坏性。这还假设要回滚的分支是
主分支

git checkout -b backup_branch # create backup branch
git checkout master # checkout branch to rollback
git reset --hard HEAD~2 # reset to 2 revisions before the HEAD
git push --force origin master # force push to github

我不知道为什么我必须做第一行两次,但它起作用了…我想你说你需要“撤销”2次提交。如果它真的是4,那么你需要做两次,或者你可以只做
git重置--hard HEAD~4
真的,了解
git reflog
,你可以直接重置到sha@JMSAZ2013,您可以在此处阅读有关重置的更多信息。此外,您还可以阅读progit书籍——它解释了更多关于git的内容。