如何撤销从develop分支合并到feature/shopsync的操作?git revert无反应
撤销Git合并操作失效的解决办法
你遇到的问题根源是:在把develop合并到feature/shopsync之后,又在该分支提交了新代码,这些后续提交可能修改或覆盖了合并进来的内容,导致git revert无法生成有效的撤销变更,所以执行后git status显示无变化。以下是两种可行的解决思路:
方案一:保留历史,用revert撤销合并(适合已推送远程的分支)
- 确认要撤销的合并提交哈希是
9a102a944b8ba96720af8f9ce8e6aa3d85335240,重新执行命令时加上--no-edit强制生成revert提交(即使没有内容变更):git revert -m 1 9a102a944b8ba96720af8f9ce8e6aa3d85335240 --no-edit - 如果执行后提示冲突,手动解决冲突后,执行
git add .和git commit完成撤销。
方案二:重置到合并前状态(仅适合本地未推送的分支)
- 从提交日志的
Merge: b9db6e2 35761a0e0可以看出,b9db6e2是feature/shopsync分支在合并develop之前的最后一个提交,执行以下命令直接回到该状态(会丢弃合并及之后的所有提交):git reset --hard b9db6e2
注意:如果feature/shopsync分支已经推送到远程仓库,绝对不能用方案二,会导致远程和本地历史不一致,必须用方案一处理。
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

