阅读 126

规范你的代码 -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 上的周下载量

微信图片_20211014152735.png

三、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命令,待会儿告诉你为什么

微信图片_20211015213321.png

  • 说明你本次的修改所影响的范围(视图层、数据层、控制层等等)

    微信图片_20211015213844.png

  • 简述本次的提交信息【必填

    微信图片_20211015214034.png

  • 详细描述本次的提交信息

    微信图片_20211015213958.png

  • 是否有任何重大变化【No】(根据情况选择yes/no)

    微信图片_20211015214020.png

  • 此更改是否会影响任何未解决的问题【No】(根据情况选择yes/no)

    微信图片_20211015214052.png

到这里就算是完成提交啦,你可以执行 git log 查看本次的提交记录。

微信图片_20211015214151.png

微信图片_20211015214330.png

3. 修改 Commitizen 提交指令

在package.json中添加指令"commit": "cz",之后就可以执行 npm run commit 的方式提交信息了

相比于 npx cz,更方便我们理解和记忆

微信图片_20211028205224.png

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


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐