在没有变基的情况下恢复合并

Posted

技术标签:

【中文标题】在没有变基的情况下恢复合并【英文标题】:Revert merge without rebase 【发布时间】:2012-09-16 19:00:15 【问题描述】:

我意识到一个分支已合并到我的主分支中,这不应该 - 提交已被推送。分支没有变基——这意味着我没有看到一个“合并提交”——来自分支的提交现在在 master 分支中,我不知道哪些提交来自合并,哪些之前在那里。

有人可以帮忙吗?

【问题讨论】:

是否有标记为“合并”的提交? (即使实际合并的更改分散在多个早期提交中。) 不,我只是偶然发现某些东西被合并了,只有来自分支的提交 【参考方案1】:

看起来就像有人在当前 master 之上重新定位了您的分支,然后将 master 快速转发到您的分支的头部。或者,它可能是一系列精选。最简单的事情是从主分支中逐一还原提交。

注意:如果您曾经将主分支与恢复的提交合并到您的分支中,那么您分支中的提交也将被恢复。

附:在这里查看还原想法:Rolling back in Git

【讨论】:

以上是关于在没有变基的情况下恢复合并的主要内容,如果未能解决你的问题,请参考以下文章

使用 git 和 meld 进行交互式变基的 3 路合并中的三个文件是啥?

git rebase——分支变基及变基的风险

Git中分支变基的原理

关于Git分支变基操作的一些笔记

关于Git分支变基操作的一些笔记

Git从青铜到王者第四篇:Git的分支与合并