# 代码提交规范
为了规范代码提交记录,自动生成 changelog
,使用 cz-customizable
对代码提交进行规范。
# 写在前面
为了保证自动生成的 changelog
尽量有效,请遵循以下几个原则:
- 提交代码要谨慎,
feat
和fix
会自动生成changelog
,其他标识不会,因此选择feat
和fix
时要考虑是否是新增功能或者修复缺陷。 - 提交代码要仔细,
scpoe
请选择对应的控件,不要错选或者选择empty/custom
等默认scope
,默认scope
只有特殊情况下使用。 - 提交代码要完整,保证一条提交记录搞定一个
feat
或修复一个bug
,一个功能完成度不够时不要提交,尽量不要出现一个功能多条提交记录的情况。 - 提交记录要具体,对新增功能和修复的缺陷进行具体描述,不要仅说明修改某个控件的问题。
- 错误例子:
修复密码输入框缺陷。 - 正确例子:修复密码输入框密码强度无法正确显示的缺陷。
- 错误例子:
- 提交代码要充分测试,控件要保证基本完成的情况下,在本地进行充分测试后提交,不要引入新的问题。
# 安装依赖
npm install -g conventional-changelog commitizen
从现在开始可以运行 git cz
指令。
# 提交流程
cz 流程:git add => git cz => git push
使用 git cz
来完全替代 git commit
进行代码提交。
# 1. 提交标识
选择一个标识表明提交代码的类型。
所有标识:
标识 | 描述 |
---|---|
feat | 新增一个功能 |
fix | 修复一个 Bug |
docs | 文档变更(更新文档、Demo) |
ci | 发布控件版本 |
style | 代码风格变更(不影响功能,解决代码冲突、eslint 校验修改等) |
refactor | 重构(即不是新增功能,也不是修改bug的代码变动) |
chore | 开发工具变动(框架改动、eslint规则变动等) |
test | 新增测试 |
perf | 改善性能 |
revert | 代码回退(如果当前 commit 用于撤销以前的 commit) |
# 2. 选择 scope
根据提交的代码类型,选择对应的 scope。
feat
或者fix
现在必须选择具体控件,不要选择empty/custom
等默认 scope,否则请考虑选择其他标识,若没有 scope,请在.cz-config.js
中添加。
# 3. 简短的描述
必填,对此次提交进行一个简短的描述。
# 4. 详细的描述(选填)
选填,若简短描述无法达到要求,可以书写详细描述,通过 |
来进行换行。
# 5. Breaking Change(选填)
选填,若提交中涉及到 Breaking Change
,请务必填写。
# 6. 关联 issues(选填)
选填,若有对应的 issues,请进行关联,可以逗号分隔以关联多个 issues。
← Demo 文档书写规范 npm 包发布规范 →