项目上线后突然收到用户反馈,登录按钮点不了,页面直接报错。这时候你正准备下班,可问题不能拖——这种情况,就得靠 hotfix 分支来救场。
什么是 hotfix 分支
hotfix 分支是从主分支(通常是 master 或 main)切出来的一个临时分支,专门用来快速修复线上紧急 Bug。它不是用来开发新功能的,也不是日常提交代码的地方,它的使命很明确:修完就合并,合并就删除。
什么时候该用 hotfix 分支
当你发现生产环境出了严重问题,比如数据无法保存、关键流程卡住、安全漏洞暴露,而当前开发分支还在迭代下一版本的功能,根本没法直接上线时,hotfix 就派上用场了。
举个例子:团队正在开发 v2.0 版本,代码在 develop 分支上还没稳定。但 v1.0 线上版本突然出现支付失败的问题。这时候不可能把不稳定的 v2.0 提前发布,只能从 v1.0 对应的 master 分支拉出一个 hotfix 分支,单独修复支付逻辑。
git checkout master
git checkout -b hotfix/payment-bug
在这个分支里只改跟问题相关的代码,修完测试通过后,再合并回 master 和 develop,确保两边都包含这个修复。
git checkout master
git merge hotfix/payment-bug
git push origin master
git checkout develop
git merge hotfix/payment-bug
git push origin develop
git branch -d hotfix/payment-bug
别把 hotfix 当日常工具
有些团队图省事,发现小问题也直接开 hotfix,久而久之分支满天飞,反而搞混了版本节奏。记住,hotfix 是“急救针”,不是“维生素”。日常开发中的小 Bug 应该等下一个正常发布周期处理。
另外,每次用完记得删掉本地和远程的 hotfix 分支,避免后续误操作提交到旧分支上。
线上出问题谁都紧张,但有清晰的流程就不慌。hotfix 分支的存在,就是让紧急修复变得可控、可追溯,既不影响主线开发,又能快速响应故障。