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

为什么带BREAKING CHANGE标识的提交,semantic-release未触发版本发布?

未触发发布的核心原因

semantic-release默认遵循Conventional Commits提交规范,你的提交信息格式不符合破坏性变更的识别规则,主要问题如下:

  • BREAKING CHANGE: 标识不能直接放在提交信息的首行(主题行),默认识别规则要求该标识必须满足以下任一条件:
    1. 提交信息首行的类型字段后追加感叹号,示例格式:feat!: 移除旧版用户接口
    2. 将BREAKING CHANGE: 放在提交信息的正文或页脚区域,首行依然遵循类型(可选范围): 描述的基础格式,示例:
fix: 兼容部分 payload 解析逻辑

BREAKING CHANGE: The graphiteWidth option has been removed.
The default graphite width of 10mm is always used for performance reasons.

你直接将BREAKING CHANGE:写在提交信息首行,缺少规范要求的类型前缀,也没有放在正文/页脚区域,因此插件无法识别为破坏性变更提交,不会触发发布。

  • 若你修改过semantic-release的预设配置或自定义了发布规则,也可能覆盖默认的BREAKING CHANGE识别逻辑,可检查项目内的semantic-release配置项确认。
修复方案
  1. 修正提交信息格式,符合规范要求,示例命令:
    git commit --amend -m "feat!: 移除废弃API端点" -m "BREAKING CHANGE: foo bar"
    第二个-m参数的内容会被识别为提交正文,其中的BREAKING CHANGE:标识会被正确解析。
  2. 如果你确实需要支持首行直接写BREAKING CHANGE:的格式,可以在commit-analyzer的releaseRules配置中添加对应匹配规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:45:04