前语
首先问问我们在日常工作中喜欢哪种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 类型,有业界常用的字段,也可以根据需要自己界说 -
scope: commit 影响的规模, 比方某某组件、某某页面
-
subject:
必填
简略的概述提交的代码,主张契合 50/72 formatting -
body: 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' // 不确定的分类
]
]
}
}
三、验证
没装备前能直接提交
装备之后就会标准提交
总结
以上两种方法都很简单,几个过程下来就可以装备好,希望我们都能养成一个开发好习惯~