如何恢复被大范围Git回滚波及的单个分支合并提交
仅恢复被误回滚的OG分支合并提交,保留其他回滚状态的方法
要单独恢复OG分支的合并提交,同时保留First、Second、Fourth、Fifth分支的回滚状态,核心思路是撤销针对OG提交的那次回滚操作,具体步骤如下:
定位目标提交哈希
执行git log --oneline查看提交历史,找到两个关键提交:- OG分支的合并提交:通常显示为类似
abc123 Merge branch 'OG'的记录 - 针对该合并提交的回滚提交:显示为类似
def456 Revert "Merge branch 'OG'"的记录,这就是需要撤销的回滚操作
- OG分支的合并提交:通常显示为类似
撤销针对OG的回滚提交
直接对上述找到的回滚提交执行git revert命令:git revert def456请将
def456替换为你实际找到的针对OG的回滚提交哈希。验证结果
执行完命令后,用git status确认提交已生成,再通过查看代码或git log检查:- OG分支的合并内容应已恢复
- First、Second、Fourth、Fifth分支的回滚状态依然保留(对应的revert提交仍在历史中生效)
关键说明
- 这个方法的本质是:Git的
revert操作会生成新提交抵消目标提交的改动,因此再次revert这个回滚提交,就能重新恢复原提交内容,且不会影响其他已完成的回滚操作。 - 如果当初回滚OG的合并提交时使用了
-m参数(指定父节点),再次revert时无需额外添加该参数,直接回滚对应的revert提交即可。 - 操作前请确保当前处于Working分支,且工作区无未提交修改,避免冲突。
内容的提问来源于stack exchange,提问作者monsto
相关产品推荐
相关产品推荐

