如果你的同事还不会配置commit提交规范,请把这篇文章甩给他
前言
首先问问大家在日常工作中喜欢哪种commit提交?
git commit -m "代码更新"
git commit -m "解决公共样式问题"
git commit -m "feat: 新增微信自定义分享"
如果你是第三种,那我觉得你肯定了解过commit提交规范,可能是刷到过同类文章也可能是在工作中受到的要求
我自己是在刚出来实习的一家公司了解到的,依稀记得“冒号要用英文的,冒号后面要接空格...”
虽然我一直保持这种习惯去提交代码,但是后面遇到的同事大部分都是放飞自我的提交,看的我很难受
因此这篇文章就教还不会配置的小伙伴如何配置被业界广泛认可的 Angular commit message 规范以及呼吁大家去使用。
先来了解下commit message
的构成
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
对应的commit记录如下图
type:
必填
commit 类型,有业内常用的字段,也可以根据需要自己定义- feat 增加新功能
- fix 修复问题/BUG
- style 代码风格相关无影响运行结果的
- perf 优化/性能提升
- refactor 重构
- revert 撤销修改
- test 测试相关
- docs 文档/注释
- chore 依赖更新/脚手架配置修改等
- workflow 工作流改进
- ci 持续集成
- types 类型定义文件更改
- wip 开发中
- undef 不确定的分类
scope: commit 影响的范围, 比如某某组件、某某页面
subject:
必填
简短的概述提交的代码,建议符合 50/72 formattingbody: commit 具体修改内容, 可以分为多行, 建议符合 50/72 formatting
footer: 其他备注, 包括 breaking changes 和 issues 两部分
git cz使用
只需要输入 git cz
,就能为我们生成规范代码的提交信息。
一、安装工具
npm install -g commitizen // 系统将弹出上述type、scope等来填写
npm install -g cz-conventional-changelog // 用来规范提交信息
ps:如果你是拉取别人已经配置好git cz的项目,记得也要在自己环境安装
然后将cz-conventional-changelog添加到package.json中
commitizen init cz-conventional-changelog --save --save-exact
二、使用git cz提交
安装完第一步的工具后,就可以使用git cz命令提交代码了
如图,输入完git cz命令后,系统将会弹出提交所需信息,只需要依次填写就可以
commitlint使用
如果你不想使用git cz命令去提交代码,还是习惯git commit的方式去提交
那么接下来就教大家怎么在git commit命令或者vscode工具中同样规范的提交代码
一、安装工具
npm install --save-dev husky
npm install --save-dev @commitlint/cli
npm install --save-dev @commitlint/config-conventional
二、配置
- 初始化husky
npx husky install
- 添加hooks
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit \$1'
- 在项目根目录下创建commitlint.config.js,并配置如下
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-case': [2, 'always', ['lower-case', 'upper-case']],
'type-enum': [2, 'always',[
'feat', // 增加新功能
'fix', // 修复问题/BUG
'style', // 代码风格相关无影响运行结果的
'perf', // 优化/性能提升
'refactor', // 重构
'revert', // 撤销修改
'test', // 测试相关
'docs', // 文档/注释
'chore', // 依赖更新/脚手架配置修改等
'workflow', // 工作流改进
'ci', // 持续集成
'types', // 类型定义文件更改
'wip', // 开发中
'undef' // 不确定的分类
]
]
}
}
三、验证
没配置前能直接提交
配置之后就会规范提交
总结
以上两种方式都很简单,几个步骤下来就可以配置好,希望大家都能
来源:juejin.cn/post/7243451555930898469