凌晨线上 500,值班用管理员权限直接把修复推到 main,绕过了分支保护。第二天补了个 PR,挂了两周没人 approve,代码已经和主干不一致。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
git log --first-parent main --oneline -10 git show --stat <hotfix-sha>
紧急流程没有留下可追溯的记录,事后补评审又缺少动力。分支保护的豁免名单太长,管理员都能直推。这一点先确认清楚,后面就不用反复试。
「热修复绕过评审」这类改动最怕改一半,回滚脚本先准备好,再动生产。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。
改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。
具体做法是,hotfix 走独立分支 用管理员权限合并也要留 PR 记录;合并后自动生成事后评审单 指定 24 小时内完成;把豁免权限收窄到值班负责人一人;每周统计绕过评审的合并次数。
改完照着核一遍,每次 hotfix 都能在 PR 列表里找到对应记录,事后评审在 24 小时内完成。
