[软软软]技术博客-Commitizen优化git commit
阅读原文时间:2022年03月27日阅读:3

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 的链接.

参考优雅的提交你的 Git Commit Message

感谢@btapple

撰稿:冯mh

补充:CookieLau