You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅基于Git master分支开发时,如何处理热修复?

单Master分支工作流的热修复处理方案

针对你遇到的问题,这里有三种实用的处理方式,适配不同场景:

1. 基于稳定标签创建热修复分支(推荐长期使用)

  • 从最后一个稳定版本标签(如1.2.3)切出独立的热修复分支:
    git checkout -b hotfix/fix-xxx 1.2.3
    
  • 在该分支上完成修复、测试,确认没问题后,合并到master分支:
    git checkout master
    git merge --no-ff hotfix/fix-xxx
    
  • 给合并后的提交打新的稳定标签(如1.2.4),触发正式发布:
    git tag -a 1.2.4 -m "Hotfix: 修复xxx问题"
    
  • 后续合并未发布的特性分支时,要确保特性分支同步master的热修复改动(可以用git rebase master或合并master到特性分支),避免发布特性时丢失修复。

2. 临时回滚未发布特性,快速发布热修复

  • 先将热修复提交合并到master,然后用git revert逐个回滚热修复之前的未发布特性提交:
    git revert <feat-commit-hash-1> <feat-commit-hash-2>
    
  • 部署当前master分支,打新标签1.2.4完成热修复发布
  • 之后需要发布特性时,通过git revert回滚之前的revert提交,或者从原特性分支重新合并到master
  • 这种方式适合紧急热修复且未发布特性较少的场景,缺点是会在提交历史中留下回滚记录。

3. 用Cherry-Pick提取修复到临时发布分支

  • 从稳定标签1.2.3创建临时发布分支:
    git checkout -b release/1.2.4 1.2.3
    
  • 将热修复分支中的修复提交提取到临时分支:
    git cherry-pick <hotfix-commit-hash>
    
  • 测试通过后给临时分支打标签1.2.4,直接部署该分支代码
  • 最后记得把热修复提交cherry-pick到master分支,确保后续所有特性分支都能继承这个修复
  • 这种方式不会改动master的现有提交历史,适合不想中断特性开发进度的场景。

内容的提问来源于stack exchange,提问作者lonix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 20:33:17