代码提交规范
代码提交规范
规范方案
现在市面上比较流行的方案是 约定式提交规范
( ConventionalCommits
),它受到了 Angular提交准则
的启发,并在很大程度上以其为依据。约定式提交规范
是一种基于提交消息的轻量级约定。它提供了一组用于创建清晰的提交历史的简单规则;这使得编写基于规范的自动化工具变得更容易。这个约定与 SemVer
相吻合,在提交信息中描述新特性、bug 修复和破坏性变更。它的 message 格式如下:
type(scope): subject
body(description)
footer
type(必须) :commit 的类别,只允许使用下面几个标识:
主要type
- feat : 新功能
- fix : 修复bug
特殊type
- docs : 文档改变
- style : 代码格式改变
- refactor : 某个已有功能重构
- perf : 性能优化
- test : 增加测试
- build : 改变了build工具 如 grunt换成了 npm
- revert : 撤销上一次的 commit
- chore : 构建过程或辅助工具的变动
当一次改动涉及到主要type和特殊type时,优先使用主要type。
scope(可选) : 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
subject(必须) : commit 的简短描述,不超过50个字符。
body(可选) :用于对此次改动进行详细说明。主要描述
改动之前的情况
及修改动机
,对于小的修改不作要求,但是重大需求、更新等必须添加body来作说明。footer(可选) :主要包括break changes和affect issues
break changes :指明是否产生了破坏性修改,涉及break changes的改动必须指明该项,类似版本升级、接口参数减少、接口删除、迁移等。
affect issues :指明是否影响了某个问题。与git上的相关议题(issues)绑定。填写方式如下:(二者选一)
re #ISSUE_ID fix #ISSUE_ID
示例
fix(AOIEx): Fix the bugs which happens when main software connect SPC
修复了连接SPC时会导致软件崩溃的bug
fix #85