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

如何将ADO主仓库回滚至指定PR合并版本?处理冲突报错

可行,具体实现分两种场景处理

场景1:错误合并后main分支无其他新提交

如果那个错误的squash merge是main分支的最新提交,且没有其他人在之后推送过代码,用硬重置最直接:

  1. 切换到本地main分支并拉取最新代码:
    git checkout main
    git pull origin main
    
  2. 查看commit历史,找到错误合并(哈希***670)的上一个有效commit,记它的哈希(比如abc123):
    git log --oneline main
    
  3. 硬重置到目标commit:
    git reset --hard abc123
    
  4. 强制推送到远程(注意:此操作会改写远程main的历史,务必确认无其他人的后续提交):
    git push origin main --force
    

场景2:错误合并后main分支已有其他正常提交

这种情况不能硬重置(会覆盖他人提交),需本地处理revert冲突后提交:

  1. 切换到本地main分支并拉取最新代码:
    git checkout main
    git pull origin main
    
  2. 尝试revert错误的squash commit:
    git revert ***670
    
  3. 此时会触发冲突,打开冲突文件,手动保留合并前的正确代码(删除Git标记的<<<<<<<、=======、>>>>>>>及对应错误代码)
  4. 解决所有冲突后,暂存文件:
    git add .
    
  5. 完成revert提交(Git会自动生成提交信息,可按需修改):
    git commit
    
  6. 推送到远程,之后可通过PR合并或直接推送(视权限而定):
    git push origin main
    

关键注意事项

  • 硬重置后,务必通知团队成员重新拉取main分支,避免基于旧历史提交导致冲突
  • 优先用revert方式(场景2),它不会改写历史,更安全,适合多人协作场景
  • 操作前可通过git show <commit哈希>核对目标commit的内容,确保回滚版本正确

内容的提问来源于stack exchange,提问作者P Kishan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 05:36:13