从正在运行的代码开叉
从 main 开的热修分支含未发布变更,不在生产。从生产提交开叉,修复才能应用于实际运行版本。
git checkout -b hotfix/issue-1234 $PRODUCTION_SHA1
最小修复,定向测试
写最小修复并加回归测试。跑定向套件而非全套;速度优先,全套在回拣后于 main 跑。
回拣到 main
热修送生产后回拣到 main。仅存于热修分支的修复在下次发布会丢。手工解冲突并在 main 跑全套。
验证
生产服务含修复,SLO 恢复,回归测试通过,main 含回拣提交。原因不明时回退而非猜修,压力下的猜测是第二次事故。回拣后删热修分支,把提交链接进事故。热修须保留可审计的部署记录与审批痕迹,便于事后复盘改进发布通道。