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

已推送到远程的合并提交如何回滚?后续怎样重新合并?

问题解决方案

1. 当前执行回滚的操作

由于合并后dev分支已产生新提交,不能用git reset改写公共历史,必须通过git revert安全撤销合并:

  • 找到合并ml_DEL-1049到dev的合并提交哈希值(从git log里找带Merge branch 'ml_DEL-1049' into dev的提交)。
  • 执行命令:
    git revert -m 1 <合并提交哈希值>
    
    这里-m 1指定以dev分支为主父分支,会彻底撤销合并时从ml_DEL-1049引入的所有修改(这就是你之前只回滚部分内容的核心原因:未指定父分支,仅撤销了合并提交本身的变更)。
  • 将revert提交推送到远程:
    git push origin dev
    

执行后,dev分支会保留合并后的新提交,同时完全移除那次合并带来的ml_DEL-1049分支修改。

2. 回滚后重新合并ml_DEL-1049分支的操作

当需要重新合并该分支成果时,只需撤销之前的revert提交即可:

  • 找到之前生成的revert提交哈希值(通过git log --oneline查看,提交信息通常是Revert "Merge branch 'ml_DEL-1049' into dev")。
  • 执行命令撤销这个revert,恢复原合并的修改:
    git revert <revert提交的哈希值>
    
  • 若ml_DEL-1049有新修改,先同步dev分支内容并解决冲突:
    git checkout ml_DEL-1049
    git pull origin ml_DEL-1049
    git merge dev
    # 手动解决冲突后提交
    git add .
    git commit -m "Resolve conflicts with dev"
    
  • 切换回dev分支完成合并:
    git checkout dev
    git merge ml_DEL-1049
    git push origin dev
    

内容的提问来源于stack exchange,提问作者Maxim Lukyanovich

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:12:47