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

时间:2017-05-01 15:13:47

标签: git git-commit git-reset

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

$ 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

它让我拉。但如果我拉,我将从主分支获得相同的提交。

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

如何正确完成?

1 个答案:

答案 0 :(得分:2)

通常你应该从远程删除提交。通常,您应修改远程历史记录。有人可能已经开始在该提交之上进行更改。

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

还原提交
git revert COMMIT_HASH

然后,您将此提交推送到每个其他提交,并且COMMIT_HASH的更改已消失。

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

执行此操作
git reset --hard origin/master