You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何撤销远程仓库中误合并到develop分支的init-work功能分支?

撤销develop分支上的误合并操作

git push -f feature/init-work完全解决不了你的问题——这个命令只是强制推送本地的feature/init-work分支到远程仓库,和你要撤销的develop分支合并操作没有任何关联。

下面分两种场景给出正确的处理方式:

场景1:合并操作仅在本地完成,还未推送到GitLab

  1. 执行git log,找到develop分支在合并前的最后一个commit哈希值(比如显示为abc1234)
  2. 执行回退命令:git reset --hard abc1234,这会把本地develop分支直接恢复到合并前的状态

场景2:合并操作已经推送到GitLab远程仓库

这种情况不建议直接强制改写远程历史(除非团队所有人都确认没有基于这个合并后的develop分支工作),更安全的方式是生成反向提交来撤销改动:

  1. 执行git log,找到那个合并commit的哈希值(合并commit的日志通常包含Merge branch 'feature/init-work' into develop字样)
  2. 执行反向提交命令:git revert -m 1 <合并commit的哈希值>,其中-m 1表示以develop分支为主线,生成一个新的commit来抵消合并带来的所有改动
  3. 执行git push origin develop,把这个反向提交推送到远程,这样既撤销了合并,又不会破坏仓库的历史记录

特殊情况:确认无协作风险时的强制回退

如果团队明确没人在使用合并后的develop分支,也可以用硬重置后强制推送的方式:

  1. 找到合并前的commit哈希,执行git reset --hard abc1234
  2. 执行git push -f origin develop,强制覆盖远程develop分支的历史

内容的提问来源于stack exchange,提问作者Chady BAGHDADI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:00:59