在我的master分支中,我在本地执行了git merge some-other-branch,但从未将更改推送到原始master。我不是故意要合并的,所以我想撤销它。在合并后执行git status时,我收到以下消息:
# On branch master
# Your branch is ahead of 'origin/master' by 4 commits.基于一些instructions I found,我尝试运行
git revert HEAD -m 1但是现在我在git status上收到了这个消息
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.我不希望我的分支领先任何提交次数。我该如何回到这一点呢?
发布于 2014-12-20 01:51:41
最近,我一直在使用git reflog来帮助解决这个问题。只有当合并刚刚发生,并且它在你的机器上时,这才能起作用。
git reflog可能会返回如下内容:
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来强制这个分支在合并之前跟踪,并继续。
https://stackoverflow.com/questions/2389361
复制相似问题