我不小心在本地主分支上运行了gitmergesome_other_branch。我还没有将更改推送给origin master。如何撤消合并?
合并后,git状态显示:
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
我如何撤销所有这些提交?
我不小心在本地主分支上运行了gitmergesome_other_branch。我还没有将更改推送给origin master。如何撤消合并?
合并后,git状态显示:
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
我如何撤销所有这些提交?
当前回答
使用此命令中止合并:
git merge—中止
其他回答
如果您的合并和相应的提交尚未被推送,您可以始终切换到另一个分支,删除原始分支并重新创建它。
例如,我意外地将一个开发分支合并到master中,并想撤消它。使用以下步骤:
git checkout develop
git branch -D master
git branch -t master origin/master
瞧!Master与原点处于同一阶段,您的错误合并状态将被清除。
您只能使用两个命令通过特定提交还原合并或重新启动:
git reset--硬commitHash(您应该使用要重新启动的commit,例如44a587491e32eafa163ca7738)git push origin HEAD--force(将新的本地主分支发送到origin/master)
祝你好运,加油!
使用现代Git,您可以:
git merge --abort
旧语法:
git reset --merge
旧学校:
git reset --hard
但实际上,值得注意的是,如果存在merge_HEAD,gitmerge--abort仅等同于git-reset--merge。这可以在Git帮助的merge命令中阅读。
git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.
在失败的合并之后,如果没有merge_HEAD,则可以使用git-reset-mmerge来撤销失败的合并,但不一定使用gitmerge-art来撤销,因此它们不仅是同一事物的新旧语法。
我个人认为git reset-merge在日常工作中更加强大和有用,所以这是我一直使用的方法。
如果你还没有提交,你只能使用
$ git checkout -f
它将撤消合并(以及您所做的一切)。
暂存gitbranch-d the_local_branchgit checkout-t<远程名称>应用git存储
这对我有用。。!!