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

如何撤销Azure DevOps中合并PR时错误的冲突解决方案?

解决Azure DevOps Repositories中错误冲突解决方案的撤销问题

核心思路

先撤销包含错误冲突解决的第二个PR合并记录,消除错误合并对Dev分支的影响,再让Branch B重新与Dev分支触发冲突,进而重新正确解决。

具体步骤

第一步:定位关键提交哈希

在Azure DevOps的PR页面找到已撤销的第二个PR,进入其提交记录,复制两个关键哈希:

  • 错误合并对应的SHA-1提交哈希(即PR合并生成的那条提交)
  • 该PR合并前,Dev分支的最后一个正常提交哈希

情况1:Dev分支在错误合并后无新提交

  1. 本地切换到Dev分支:
    git checkout dev
    
  2. 重置Dev分支到错误合并前的状态:
    git reset --hard <错误合并前的Dev提交哈希>
    
  3. 强制推送到远程Dev分支(操作前必须确认团队内无人基于错误合并后的Dev工作):
    git push origin dev --force
    
  4. 切换到Branch B,拉取最新的Dev分支:
    git checkout branch-b
    git pull origin dev
    
    此时会重新触发合并冲突,按正确逻辑解决后提交新PR即可。

情况2:Dev分支在错误合并后已有新提交

这种场景不能直接重置(会覆盖他人提交),需用revert撤销错误合并:

  1. 本地切换到Dev分支:
    git checkout dev
    
  2. 撤销错误的合并提交(-m 1表示保留Dev分支的主线历史,仅撤销合并带来的变更):
    git revert -m 1 <错误合并提交的哈希>
    
  3. 推送revert提交到远程:
    git push origin dev
    
  4. 切换到Branch B,拉取最新的Dev分支:
    git checkout branch-b
    git pull origin dev
    
    此时会重新出现冲突,正确解决后提交新PR即可。

注意事项

  • 操作远程Dev分支前,务必同步所有团队成员,避免他人工作丢失。
  • 强制推送(--force)仅适合Dev分支无后续提交的场景,多人协作优先使用revert方式。
  • 重新解决冲突时,仔细核对Branch A与Branch B的变更点,确保合并结果符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 22:33:09