我不小心在本地主分支上运行了git merge some_other_branch
。我还没有将更改推送到origin主分支。如何撤消合并?
合并后,git status
显示:
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
如何撤销所有这些提交?
我不小心在本地主分支上运行了git merge some_other_branch
。我还没有将更改推送到origin主分支。如何撤消合并?
合并后,git status
显示:
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
如何撤销所有这些提交?
最简单的机会,比这里说的任何事情都要简单得多:
删除您的本地分支(本地而不是远程),然后再次拉取它。这样,您将撤消主分支上的更改,任何人都不会受到您不想推送的更改的影响。重新开始。
git reset HEAD~1
# Make sure what you are reverting is in fact the merge files
git add .
git reset --hard
如果您在合并后立即注意到需要还原,并且在合并尝试之后没有进行其他操作,您可以发出以下命令:git reset --hard HEAD@{1}
。
实际上,如果在合并后没有提交其他内容,则您的合并sha
将指向HEAD@{0}
,因此HEAD@{1}
将是合并之前的上一个点。
git reset --hard <branch_name>
重置您的分支。如果您想在重置之前保存更改,请务必创建一个新分支并使用 git checkout <branch_name>
。git reset --hard <commit_id>
将状态重置为特定提交。git revert <branch_name>
。确保还要查看如何在其他情况下使用 git revert and git checkout。您可以使用git-reset命令。
git-reset - 将当前HEAD重置为指定状态。 git reset [--mixed |
--soft | --hard | --merge] [-q] [] git reset [-q] []
[--] … git reset --patch
[] [--] […]
git reset
,git reset --merge
和 git reset --hard
,但是最终我仍然收到同样的消息,即比 origin/master 提前了 5 次提交。 - Matt Huggins