Azure DevOps如何校验分支仅领先合并提交并确保main热修复合回develop
校验main分支领先提交是否仅为无文件变更合并提交
你可以通过两种方式快速校验:
- 本地Git命令校验:执行命令
git log main ^develop --merges -p --name-only,正常场景下(即main仅领先空合并提交)返回的所有合并提交都不会展示任何变更文件;如果返回结果中出现了具体的文件变更列表,说明main存在带实际改动的提交未同步到develop。 - Azure DevOps页面校验:进入ADO的「Repos」-「Branches」模块,找到main分支,点击右侧「...」按钮选择「Compare branches」,对比分支选择develop,切换到「Files」标签页,若页面无任何文件差异展示,说明main领先的提交全部是无文件变更的空合并提交;若存在文件差异,就是有需要反向合并回develop的改动。
确保main分支热修复同步回develop的落地方案
- 配置main分支PR强制校验规则:给main分支添加拉取请求策略,要求所有向main合并的PR必须关联「Hotfix」类型工作项,同时新增自定义PR检查规则:如果PR关联了Hotfix工作项,必须同时存在对应向develop合并的同源PR,否则阻止合并。
- 配置流水线自动巡检:搭建每日定时触发的流水线,自动执行前文的差异校验命令,若检测到main和develop存在文件差异,自动给开发团队推送同步提醒;也可以配置为自动创建从main到develop的PR,直接指派给Hotfix提交者处理。
- 规范Hotfix开发流程:明确要求所有生产热修复必须遵循「从main拉取独立hotfix分支开发→先提交PR合并到main→再将同一hotfix分支提交PR合并到develop」的流程,禁止直接在main分支提交代码。
内容的提问来源于stack exchange,提问作者Matthias Schuchardt
相关产品推荐
相关产品推荐

