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

如何回退Azure托管Main分支中误合并的Pull Request

Azure DevOps 错误合并Main分支恢复操作步骤

无法找到工作分支的原因

Azure DevOps 网页端默认的 revert 入口需要选择合并源分支,若你的工作分支已删除、未推送至远端、权限不足,就不会出现在可选列表中,可通过以下两种方案完成恢复:


方案一:本地Git操作(推荐,可控性更高)

  • 先切换到本地Main分支并同步最新远端状态:
git checkout main
git pull origin main
  • 查看提交历史,获取目标提交哈希:
    git log --oneline
    找到你错误合并操作对应的合并提交哈希(日志会标注Merge pull request相关记录),或合并前Main分支最后一个正常提交的哈希,复制前7位即可
  • 根据场景选择撤销方式:
    1. 保留提交历史(推荐,不会改写团队已有提交记录,无需强制推送权限):
      执行命令生成撤销合并的新提交:
      git revert -m 1 <合并提交的哈希值>
      -m 1表示以合并的第一个父提交,即合并前Main分支的状态为基准撤销所有变更
      执行完成后正常推送即可:
      git push origin main
    2. 抹除错误合并的提交(仅适合团队无人拉取过最新错误版本Main分支的场景,需要强制推送权限):
      执行命令直接回退到合并前的正常提交:
      git reset --hard <合并前正常提交的哈希值>
      执行完成后强制推送至远端:
      git push origin main -f

方案二:网页端直接操作(无需本地Git环境)

  • 打开项目的「Repos」-「Commits」页面,切换到Main分支
  • 找到你错误合并对应的合并提交记录,点击进入提交详情页
  • 点击详情页右上角的三个点更多选项按钮,选择「Revert」
  • 此时系统会自动基于该合并提交生成撤销变更,无需选择原工作分支,按照页面提示创建Pull Request,合并到Main分支即可完成恢复

注意事项

  • 若使用强制推送的reset方案,务必提前和团队成员同步,避免其他人本地Main分支和远端出现冲突
  • 推荐优先使用revert方案,不会改写提交历史,也不会影响其他成员的正常协作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 07:21:01