git commit 规范
用什么规范?
受到市面上主流的约定式提交规范和Angular提交准则的启发,结合前端团队的实际情况(虽然可以通过配置commitizen工具来进行强制检查约束,但涉及项目太多,操作较为复杂,且涉及到原生项目和老项目时,需采用别的解决方案,故建议团队采用自觉遵守规范的方法来实现),暂拟定如下格式的 commit 规范
// <类型>(影响的作用域): <简要描述>
<type>(<scope>): <subject>
type 类型
type 类型只能从以下 7 种类型中,结合实际情况选取
主要 type
- feat: 增加新功能
- fix: 修复 bug
特殊 type
- dosc: 只改动了文档/注释相关的内容
- style: 不影响代码运行和含义的改动,例如改变缩进,增删分号
- chore: 构造工具或者外部依赖的改动,例如 webpack,npm,yarn
- refactor: 代码重构(即不是新增功能,也不是修改 bug 的代码变动)
暂不使用的 type
- test: 添加测试或者修改现有测试
scope
scope 也为必填项,用于描述改动的范围,例如:路由/组件/工具类/模块。
subject
本次提交的简短描述,以动词开头
其他注意事项
- 建议一次提交只涉及一个模块,如果实在涉及多个模块,建议拆分成多次提交或者编写多行符合上述规范的 message
- git commit -m 'XXXX' 为编写一行 message 的命令
- git commit 可以编写多行 message
- 可以为 git 设置 commit 模板,时刻提醒自己
设置 git commit 模板方法
- 修改~/.gitconfig 或者 项目里.git/.gitconfig,添加
[commit]
template = ~/.gitmessage
- 新建~/.gitmessage 内容可以如下:
# head: <type>(<scope>): <subject>
# - type: feat(新功能), fix(修复bug), docs, style, refactor, test, chore
# - scope: 本次提交影响的范围,例如:路由/组件/工具类/模块
# - subject: 本次提交的简短描述,动词开头
#
# 建议一次提交只涉及一个模块,如果实在涉及多个模块,建议拆分成多次提交或者编写多行符合上述规范的message
demo
feat(baseURL.js): 增加演示环境配置
fix(request.js): 屏蔽公参中的token
feat(购物车模块): 增加清空购物车功能