首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >撤消尚未推送的Git合并

撤消尚未推送的Git合并
EN

Stack Overflow用户
提问于 2010-03-06 03:24:45
回答 33查看 2.7M关注 0票数 4.4K

在我的master分支中,我在本地执行了git merge some-other-branch,但从未将更改推送到原始master。我不是故意要合并的,所以我想撤销它。在合并后执行git status时,我收到以下消息:

代码语言:javascript
运行
复制
# On branch master
# Your branch is ahead of 'origin/master' by 4 commits.

基于一些instructions I found,我尝试运行

代码语言:javascript
运行
复制
git revert HEAD -m 1

但是现在我在git status上收到了这个消息

代码语言:javascript
运行
复制
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.

我不希望我的分支领先任何提交次数。我该如何回到这一点呢?

EN

Stack Overflow用户

发布于 2014-12-20 01:51:41

最近,我一直在使用git reflog来帮助解决这个问题。只有当合并刚刚发生,并且它在你的机器上时,这才能起作用。

git reflog可能会返回如下内容:

代码语言:javascript
运行
复制
fbb0c0f HEAD@{0}: commit (merge): Merge branch 'master' into my-branch
43b6032 HEAD@{1}: checkout: moving from master to my-branch
e3753a7 HEAD@{2}: rebase finished: returning to refs/heads/master
e3753a7 HEAD@{3}: pull --rebase: checkout e3753a71d92b032034dcb299d2df2edc09b5830e
b41ea52 HEAD@{4}: reset: moving to HEAD^
8400a0f HEAD@{5}: rebase: aborting

第一行表示发生了合并。第二行是合并之前的时间。我简单地使用git reset --hard 43b6032来强制这个分支在合并之前跟踪,并继续。

票数 96
EN
查看全部 33 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2389361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档