不小心“将远程跟踪分支'origin/x'合并到x中”,我怎样才能从我的存储库中完全删除它?

问题描述 投票:0回答:2

我不小心做了两次相同的提交,然后以某种方式合并了它们,现在有一个名为“将远程跟踪分支'origin/lab1'合并到lab1”的提交,而且我的本地存储库显然没有同步,这看起来很简单,但我卡住

尝试将提交压缩到 github 桌面上的一个,但它显示“无法压缩。压缩会重放所有提交,直到压缩所需的最后一个提交。这些提交中不能存在合并提交。”

我知道如何在本地存储库上修复此问题,但如何从 github 中删除该合并提交?

github repository
2个回答
0
投票

如果该合并提交是 lab1 上的最新提交,您可以简单地重置之前的一个提交(确保您没有任何正在进行的工作):

git switch lab1
git reset --hard lab1~
git fetch
git rebase origin/lab1
git push

但是您已经在合并提交之后完成了提交,那么您需要标记它们并重播它们:

git switch lab1 git branch <sha1 of the merge commit> m git branch lab1 tmp git reset --hard m~ git fetch git rebase origin/lab1 git rebase --onto lab1 m tmp git switch lab1 git merge tmp git push
    

0
投票
有人可以解释一下上面的答案吗? @秀春

如果我在提交之后还有提交,我也想恢复,我是否可以一直这样做回到我想要的提交?

© www.soinside.com 2019 - 2024. All rights reserved.