如何基于GitHub旧标签创建续接的次要版本?
基于旧标签生成续接热修复版本的解决方案
问题场景
生产环境存在旧标签 0.20.0,当前仓库最新标签已升至 0.29.0 级。需基于该旧标签创建热修复分支,并生成续接的版本标签 0.20.1,但使用github-tag-action v6时,工具自动取全局最高标签生成了 0.29.1,不符合需求。
解决步骤
1. 基于旧标签创建专属热修复分支
先从目标旧标签拉取独立的热修复分支,确保分支起点为指定版本:
git checkout -b hotfix/0.20.x 0.20.0
2. 调整github-tag-action配置,锁定版本基准
修改Action配置,强制以指定旧标签为版本递增基准,同时适配热修复的版本规则:
uses: mathieudutour/github-tag-action@v6.1 with: github_token: *** default_bump: patch # 热修复对应patch版本递增,0.20.0→0.20.1 custom_release_rules: fix:patch,feat:minor,perf:major dry_run: true # 先验证,确认正确后改为false release_branches: main,hotfix/0.20.x # 指定具体热修复分支,避免全局匹配 default_prerelease_bump: prerelease create_annotated_tag: false fetch_all_tags: true # 拉取所有标签用于基准匹配 base_tag: 0.20.0 # 核心配置:指定版本递增的基准标签
base_tag参数是关键,它会强制工具以0.20.0为起点计算下一个版本,而非全局最高标签。- 热修复场景建议将
default_bump设为patch,对应小版本号递增(如0.20.0→0.20.1)。
3. 规范提交信息触发正确版本递增
按照配置的custom_release_rules,热修复提交需以fix:为前缀,例如:
fix: 修复生产环境支付回调异常问题
这样工具会自动识别为patch版本更新,生成0.20.1标签。
4. 验证配置正确性
保持dry_run: true运行Action,查看日志中预测的标签是否为0.20.1,确认无误后再将dry_run改为false,实际创建标签。
内容的提问来源于stack exchange,提问作者AD90
相关产品推荐
相关产品推荐

