开发项目时,代码出问题是常有的事。尤其是线上系统突然出现严重 bug,用户没法正常使用,这时候不能等新版本慢慢排期上线,得立刻修复。hotfix 分支就是为这种紧急情况准备的。
线上出严重 bug 时立即使用
比如你维护一个电商网站,大促期间发现购物车金额计算错误,用户下单可能多扣钱。这种问题必须马上解决。这时候不应该在 develop 或 main 分支上直接改,而是从主分支(通常是 master 或 main)拉出一个 hotfix 分支,专门用来修复这个紧急缺陷。
这样做能保证修复过程独立、清晰,不影响其他正在开发的功能,也能快速测试和发布补丁版本。
需要快速打补丁发版的场景
hotfix 分支通常用于生成以“点”为单位的版本更新,比如从 1.2.3 升到 1.2.4。这类更新只包含关键修复,不引入新功能。修复完成后,hotfix 分支要合并回 main 和 develop(或当前主开发分支),确保后续版本也包含此修复。
例如:
git checkout main
git checkout -b hotfix/cart-calc-error
在该分支上提交修复后:
git checkout main
git merge hotfix/cart-calc-error
git tag -a v1.2.4 -m "修复购物车金额计算错误"
git checkout develop
git merge hotfix/cart-calc-error
git branch -d hotfix/cart-calc-error
不是所有修改都适合走 hotfix
如果只是优化某个页面加载速度,或者增加一个新按钮,这类需求属于正常迭代,应该走 feature 分支流程。hotfix 只针对影响用户体验或存在安全风险的紧急问题。比如密码重置功能失效、支付接口报错、数据泄露漏洞等,这些才值得触发 hotfix 流程。
团队协作中,滥用 hotfix 会导致分支混乱,甚至引发冲突。明确使用边界,才能让这个机制真正发挥作用。