在本地分支和主分支上回滚?

Roll back both on local branch and master branch?

如何回滚到本地分支和主分支的最后一次提交?

$ git reset --hard HEAD^
HEAD is now at e861a3e Added push menu label.

$ git status
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)
nothing to commit, working tree clean

它叫我拉。但是如果我拉我会从主分支得到相同的提交。

我在我的代码中犯了一个错误,我已经提交并推送了。所以我需要回滚提交和推送。

如何才能正确做到这一点?

通常您应该从远程删除提交。一般来说,您应该修改远程历史记录。有人可能已经开始在该提交的基础上进行更改。

通常 还原 提交要好得多。还原是一个新的提交,它撤消还原的提交中包含的所有更改。您使用

恢复提交
git revert COMMIT_HASH

然后您将此提交作为其他所有提交进行推送,COMMIT_HASH 的更改将消失。

在执行此操作之前,您必须撤消对本地分支的提交删除。你可以用

来做到这一点
git reset --hard origin/master