除了 代码格式规范 之外,还有另外一个很重要的规范就是 代码提交规范!
在现在的项目开发中,通常情况下,我们都会通过 git
来管理项目。只要通过 git
来管理项目,那么就必然会遇到使用 git
提交代码的场景
当我们执行 git commit -m "描述信息"
的时候,我们知道此时必须添加一个描述信息。但是不同的人去填写描述信息的时候,都会根据自己的理解来进行描述。
如果没有一套规范的提交描述信息,这样就会导致别人在看你的提交记录时,看不懂你说的什么意思?不知道你当前的这次提交到底做了什么事情?例如在代码合并的时候,就会存在潜在的风险。
对于 git
提交规范 来说,不同的团队可能会有不同的标准,所以直接使用市面上成熟的方案就行了,例如,Angular团队的提交规范 ,Angular团队 制定的提交规范
是目前市面上公认为最合理、最系统、最流行的提交规范
,也是许多大厂团队都在使用的代码规范
,一些概念性的东西就不再赘述了,大家可以自行百度,我们直接进入使用。
commitizen
仓库名为 cz-cli ,它提供了一个 git cz
的指令用于代替 git commit
1、全局安装Commitizen
npm install -g commitizen
2、安装并配置 cz-customizable
插件
-
使用
npm
下载cz-customizable
cssnpm i cz-customizable --save-dev
-
添加以下配置到
package.json
中erlang... "config": { "commitizen": { "path": "node_modules/cz-customizable" } }, "cz-customizable": { "config": ".cz-config.cjs" }
3、项目根目录下创建 .cz-config.cjs
自定义提示文件
css
module.exports = {
// 可选类型
types: [
{ value: 'feat', name: 'feat: 新增功能' },
{ value: 'fix', name: 'fix: 修复功能' },
{ value: 'docs', name: 'docs: 更新文档' },
{ value: 'style', name: 'style: 代码格式变更' },
{ value: 'refactor',name: 'refactor: 代码重构:非新增功能非修改功能' },
{ value: 'perf', name: 'perf: 性能优化' },
{ value: 'test', name: 'test: 增加测试用例' },
{ value: 'chore', name: 'chore: 构建过程或辅助工具的变动' },
{ value: 'revert', name: 'revert: 代码回退' },
],
// 消息步骤
messages: {
type: '请选择提交类型:',
customScope: '请输入修改范围(可选):',
subject: '请简要描述提交(必填):',
body: '请输入详细描述(可选):',
footer: '请输入要关闭的issue(可选):',
confirmCommit: '确认使用以上信息提交?(y/n/e/h)'
},
// 跳过问题
skipQuestions: ['body', 'footer'],
// subject文字长度默认是72
subjectLimit: 72
}
4、使用 git cz
代替 git commit
总结
现在虽然我们可以使用**git cz
去规范的提交代码了,但并不是强制性的,如果有的人继续使用老的方式去提交代码也是可以的,如果你想让团队成员必须使用 git cz
**去提交代码,那么可以使用 git hooks工具去校验我们的提交信息,不符合规范的 commit 将不再可提交,甚至报错都是可以的。