在beta分支使用semantic-release预发布的版本规则疑问
semantic-release Beta预发布版本规则疑问
已知semantic-release官方文档说明:当main分支最新版本为1.0.0时,向beta分支推送破坏性变更会发布2.0.0-beta.1,后续提交任何类型变更仅递增beta计数器(比如变为2.0.0-beta.2)。
现存在两个疑问:
- 若向beta分支的初始提交为非破坏性变更,是否会生成
1.1.0-beta.1? - 若已发布
1.1.0-beta.1,后续向beta分支添加破坏性变更时,版本是否会从1.1.0-beta.1变为2.0.0-beta.1?
问题解答
- 针对第一个问题:是。semantic-release会基于main分支的基础版本(1.0.0),结合提交类型计算版本增量——非破坏性变更(feat类型)对应minor版本升级,因此会生成
1.1.0-beta.1作为首个beta预发布版本。 - 针对第二个问题:是。当beta分支中出现破坏性变更(带
BREAKING CHANGE的提交)时,semantic-release会重新计算版本基线,将主版本号从1升级到2,同时生成新的beta预发布版本2.0.0-beta.1,而非在原1.1.0-beta.x的基础上递增。
内容的提问来源于stack exchange,提问作者cbdeveloper
相关产品推荐
相关产品推荐

