规范你的代码 -Commitizen
Commitizen
一、适用 Commitizen 的业务场景
每次开开心心地完成一项业务功能后,就可以提交到我们的 Git 仓库进行管理。
在 Git 中提交代码,必不可少的需要你说明在本次提交时所要备注的信息,用于说明本次更改对项目的影响。
刚刚接触 Git 的时候 commit message 写得可真是为所欲为,不然不让提交啊。大多是一段文字搞定,甚至一个空格。(手动doge)
但是到后续去检查项目时就会变得非常煎熬,且不说团队项目。自己的仓库都看不明白,还需要通过看修改的文件回想我当时到底是做了什么。。。
Commitizen 这个工具可以(强制)帮助我们养成良好的开发习惯,不管是工友还是自己都能比较清晰的理解每次的 commit 信息。
二、什么是 Commitizen?
When you commit with Commitizen, you'll be prompted to fill out any required commit fields at commit time.
Commitizen 在 GitHub 上的解释。
当你在使用 git commit
提交时,Commitizen 能够快速地帮你完成提交信息的补充。
不仅如此,Commitizen 可以帮助你的团队规范统一的 commit message。
我们来看看 Commitizen 在 npm 上的周下载量
三、Commitizen 怎么用?
1. 安装 Commitizen
按照官方的说明,安装使用 Commitizen 需要执行下面两步。
// 1. 安装 commitizen npm install commitizen -D // 2. 安装和初始化 cz-conventional-changelog npx commitizen init cz-conventional-changelog --save-dev --save-exact 复制代码
2. Commitizen 的使用
安装成功以后,这意味着你可以不再使用 git commit
的方式提交你的代码。
在你执行完 git add
后,执行 npx cz
替代 git commit
,commitizen 就可以一步步帮助你完成提交了:
说明你本次操作修改的类型【必填】(所有类型描述写在文中最后)
你会发现这里我使用了 npm run commit
,而不是cz
命令,待会儿告诉你为什么
说明你本次的修改所影响的范围(视图层、数据层、控制层等等)
简述本次的提交信息【必填】
详细描述本次的提交信息
是否有任何重大变化【No】(根据情况选择yes/no)
此更改是否会影响任何未解决的问题【No】(根据情况选择yes/no)
到这里就算是完成提交啦,你可以执行 git log
查看本次的提交记录。
3. 修改 Commitizen 提交指令
在package.json中添加指令"commit": "cz"
,之后就可以执行 npm run commit
的方式提交信息了
相比于 npx cz
,更方便我们理解和记忆
4. Commitizen 中的提交类型
类型 | 解释 |
---|---|
feat | 新增特性(A new feature) |
fix | 修复bug(A bug fix) |
docs | 仅包含文档的修改(Documnetation only changes) |
style | 修改代码格式,不影响代码逻辑(white-space, formatting, missing semi colons, ect) |
refactor | 重构 (refactor) |
perf | 提高性能的修改(A code change that improves performance) |
test | 添加或修改测试代码(Adding missing tests or correcting existing tests) |
build | 构建工具或外部依赖包的更改(Changes that affect the build system or external dependencies) |
ci | 持续集成的配置文件或脚本的修改(Changes to our CI configuration files and scripts) |
chore | 杂项(Other changes that don't modify src or test files) |
revert | 撤销某次提交(Reverts a previous commit) |
作者:贰山
链接:https://juejin.cn/post/7024103006752735269