[软软软]技术博客-Commitizen优化git commit
工具介绍
commitizen/cz-cli是一个规范git commit的工具,使用它代替git commit能够方便有效地写好提交的log,使得团队项目的版本信息更清晰。
安装
(全局安装)
npm install -g commitizen cz-conventional-changelog
linux/wsl需要添加一句:
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
使用
在本地git仓库中,使用git cz
代替git commit
使用。
如果没有像下方的示例一样显示,而是和正常的git commit完全一样,需要自己手写文档的情况时,说明在项目内文件夹 git cz
的安装未生效,使得项目生效需要在项目下操作:
npm init --yes
commitizen init cz-conventional-changelog --save --save-exact
成功初始化即可使用。
示例如下(win10 cmd中):
(Mac shell中):
通过方向键选择我们在此次提交中修改的内容,比如选择feat,回车
commitizen会询问一些小问题,只要回答问题就好了。
比如本次修改的范围是什么?某个文件还是组件?(可以跳过)
对此次修改的简要概括(重要)
进行更长的描述(概括写不下的在这里写)
以及会询问是否为重大修改之类的问题,如实填写即可
最后可以看到,commitizen会为我们创建一个风格规范的优雅的commit log
commit修改类型汇总:
- type: commit 的类型
- feat: 新特性
- fix: 修改问题
- refactor: 代码重构
- docs: 文档修改
- style: 代码格式修改, 注意不是 css 修改
- test: 测试用例修改
- chore: 其他修改, 比如构建流程, 依赖管理.
- scope: commit 影响的范围, 比如: route, component, utils, build...
- subject: commit 的概述, 建议符合 50/72 formatting
- body: commit 具体修改内容, 可以分为多行, 建议符合 50/72 formatting
- footer: 一些备注, 通常是 BREAKING CHANGE 或修复的 bug 的链接.
其他个性化修改
致谢
感谢@btapple。
撰稿:冯mh
补充:CookieLau