首页/开发/Git 与协作速查/长期支持(LTS)分支维护

长期支持(LTS)分支维护

为特定版本提供更长维护窗口:用 maint/x.y(或 release/x.y)分支承接安全与阻断级修复,并公开支持截止时间。

Git 与协作速查开发更新于 2026-10-13

长期支持(LTS)分支是什么

为特定版本提供更长维护窗口:用 maint/x.y(或 release/x.y)分支承接安全修复与阻断级缺陷,并对外公开支持截止时间。核心流程是「先合主线、再回挑维护线」,保证下个正式版本不丢补丁。

基本信息

结构maint/x.y 维护分支加独立补丁标签
内容安全修复与阻断类缺陷,功能改动不进维护线
策略对外公开维护窗口与 EOL(停止支持)时间
流程修复先进主线,再 cherry-pick 回维护线
发布节奏按需或固定窗口发补丁版本(如 v1.2.7)
验收补丁版本跑回归测试后再发布,覆盖维护线独占的修复项

典型使用场景

  • 安全公告响应:漏洞修复进入维护分支并快速发补丁版本。
  • 长周期产品:客户停留在旧大版本,需要持续修复通道。
  • 合规要求:公开支持时间表,满足采购与审计要求。
  • 回挑管理:主线修完后按清单回挑,防止遗漏。
  • 版本规划:提前宣布 EOL,给用户留升级窗口。
  • 多线并行:同时维护两三个版本时,明确每条线的责任人与节奏。
  • 发布公告:补丁版本发布后同步更新支持矩阵与升级指引。

维护操作示意

维护操作示意
git switch maint/1.2                     # 切到维护分支(或先创建)
git cherry-pick <修复提交>                # 从主线回挑已修复的提交
git tag -a v1.2.7 -m 'LTS patch 1.2.7'   # 打补丁版本标签
git push origin maint/1.2 v1.2.7         # 推送分支与标签
git log --oneline main..maint/1.2        # 核对维护线多出的补丁

维护线职责边界

变更类型是否进维护线示例
安全修复进CVE 补丁
阻断级缺陷进崩溃或数据错误
普通功能不进新特性只在主线
文档更正视情况影响使用的错误说明
先合主线再回挑到维护线,保证下个正式版本不丢补丁;维护分支上用独立标签标记补丁版本,不要把修复直接打进旧的发布标签。

易错点

  • 回挑遗漏会导致补丁版本缺项,回挑后核对差异或跑回归测试确认修复已包含。
  • 支持窗口没有明确截止,长期会被动接单,人力规划困难;提前公布 EOL 日期,对外文档同步标注每条线的状态。
  • 在维护线上直接开发新功能会让分支逐渐偏离「只修关键缺陷」的定位,最终无法收敛。
  • 补丁标签与正式版本标签混用同一序列时容易混淆,保持补丁版本号单调递增且可排序。

数据来源与参考

  • GitLab 官方文档:维护分支与发布策略
  • Pro Git 2nd Edition · 5.1 分支工作流程
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌