commit提交规范
yyz
类型(type)
feat:: 类型为 feat 的提交表⽰在代码库中新增了⼀个功能(这和语义化版本中的 MINOR 相对应)。
fix::类型为 fix 的 提交表⽰在代码库中修复了⼀个 bug (这和语义化版本中的 PATCH 相对应)。
docs:: 只是更改⽂档。
style:: 不影响代码含义的变化(空⽩、格式化、缺少分号等)。
polish
成分英语>unitsrefactor:: 代码重构,既不修复错误也不添加功能。
perf:: 改进性能的代码更改。
underneathtest:: 添加确实测试或更正现有的测试。
build:: 影响构建系统或外部依赖关系的更改(⽰例范围:gulp、broccoli、NPM)。生活大爆炸第三季13
ci:: 更改持续集成⽂件和脚本(⽰例范围:Travis、Circle、BrowrStack、SauceLabs)。alley
chore:: 其他不修改src或test⽂件。
revert:: commit 回退。
约定式提交规范
每个提交都必须使⽤类型字段前缀,它由⼀个名词组成,诸如feat或fix,其后接⼀个可选的作⽤域字段,以及⼀个必要的冒号(英⽂半⾓)和空格。
retail是什么意思当⼀个提交为应⽤或类库实现了新特性时,必须使⽤feat类型。
当⼀个提交为应⽤修复 bug 时,必须使⽤fix类型。
all什么意思作⽤域字段可以跟随在类型字段后⾯。作⽤有必须是⼀个描述某部分代码的名词,并⽤圆括号包围,例如:fix(parr):
描述字段必须紧接在类型/作⽤域前缀的空格之后。描述指的是对代码变更的简短总结,例如:fix:array parsing issue when multiplejspaces were contained in string。
在简短描述之后,可以编写更长的提交正⽂,为代码变更提供额外的上下⽂信息。正⽂必须起始于描述字段结束的⼀个空⾏后。
在正⽂结束的⼀个空⾏之后,可以编写⼀⾏或或多⾏脚注。脚注必须包含关于提交的元信息,例如:关联的合并请求、Reviewer、破坏性变更、每条元信息⼀⾏。
破坏性变更必须标⽰在正⽂区域最开始处,或脚注区域中某⼀⾏的开始。⼀个破坏性变更必须包含⼤写的⽂本BREAKING CHANGE,后⾯紧跟冒号和空格。拐杖英文
在BREAKING CHANGE:之后必须提供描述,以描述对 API 的变更。例如:BREAKING CHANGE: enviroment variables now take precedence over cofig files。
在提交说明中,可以使⽤feat和fix之外的类型。
⼯具的实现必须不区分⼤⼩写地解析构成约定式提交的信息单元,只有BREAKING CHANGE 必须是⼤写的。
可以在类型/作⽤域前缀之后,:之前,附加!字符,以进⼀步提醒注意破坏性变更。当有!前缀时,正⽂或脚注内必须包含BREAKING CHANGE: description。