首页/开发/Git 与协作速查/破坏性变更的两种标注
协作与代码评审75 条

破坏性变更的两种标注

不兼容改动有两种写法:type 或 scope 后加感叹号(feat!、feat(api)!),或在页脚写 BREAKING CHANGE: 描述;两者都可触发主版本号升级。

Git 与协作速查开发更新于 2026-10-12
方式一<type>! 或 <type>(<scope>)! 后跟冒号
方式二页脚 BREAKING CHANGE: <说明>(大写固定)
版本影响按规范对应 MAJOR 升级

示例

示例
git commit -m 'feat!: 默认开启强制 HTTPS'
git commit -m 'refactor(api)!: 返回结构改为统一包裹格式'
# 页脚写法需多行
git commit -m 'fix(db): 迁移时区处理' -m 'BREAKING CHANGE: 历史时间列将按 UTC 重写'
破坏性变更要在正文里写清迁移方式;只写感叹号而不说明影响面,会让下游升级受阻。

易错点

  • 页脚必须写成大写 BREAKING CHANGE 才能被工具识别,小写 breaking change 会被忽略
  • 误加感叹号会触发主版本号自动跳变,提交前用 commitlint 之类工具先自查

数据来源与参考

  • Conventional Commits 1.0.0 规范(BREAKING CHANGE 章节)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌