在本地分支和主分支上回滚?
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
如何回滚到本地分支和主分支的最后一次提交?
$ 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