使用 commitizen 规范git提交说明
迪丽瓦拉
2024-06-01 07:43:08
0

我们保存本地代码是用命令

git add . 
git commit -m 'xxx'

commitize的作用就是代替git commit ,用来规范git提交说明;

1. 规范的提交格式

符合规范的Commit Message的提交格式如下,包含了页眉(header)、正文(body)和页脚(footer)三部分。其中,header是必须的,body和footer可以忽略。

Header

Header 部分只有一行,包括三个字段:提交类型type(必需)、作用域scope(可选)、主题subject(必需)

请添加图片描述

作用域(scope)表示此次提交影响的范围。比如可以取值api,表明只影响了接口。

主题(subject)描述是简短的一句话,简单说明此次提交的内容

正文(body)和页眉(footer)

正文(body)和页眉(footer)这两部分不是必须的。

如果是破坏性的变更,那就必须在提交的正文或脚注加以展示。一个破坏性变更必须包含大写的文本 BREAKING CHANGE,紧跟冒号和空格。脚注必须只包含 BREAKING CHANGE、外部链接、issue 引用和其它元数据信息。例如修改了提交的流程,依赖了一些包,可以在正文写上:BREANKING CHANGE:需要重新npm install,使用npm run cm代替git commit。

下面给出了一个Commit Message例子,该例子中包含了header和body。
chore: 引入commitizen

BREANKING CHANGE:需要重新npm install,使用npm run cm代替git commit

当然,在平时的提交中,我们也可以只包含header,比如我们修改了登录页面的某个功能,那么可以这样写Commit Message。

feat(登录):添加登录接口

2. Commitizen

虽然有了规范,但是还是无法保证每个人都能够遵守相应的规范,因此就需要使用一些工具来保证大家都能够提交符合规范的Commit Message。常用的工具包括了可视化工具和信息交互工具,其中Commitizen是常用的Commitizen工具,接下来将会先介绍Commitizen的使用方法。
commitizen

安装

npm install commitizen cz-conventional-changelog --save-dev

配置

"config": {"commitizen": {"path": "./node_modules/cz-conventional-changelog"}
}

使用

git cz

3. 生成 Change log 文件

conventional-changelog 就是生成 Change log 的工具,运行下面的命令即可。

npm install -g conventional-changelog

如果你想生成所有发布的 Change log,要改为运行下面的命令。

conventional-changelog -p angular -i CHANGELOG.md -w -r 0

为了方便使用,可以将其写入package.json的scripts字段。

{"scripts": {"changelog": "conventional-changelog -p angular -i CHANGELOG.md -w -r 0"}
}

以后,直接运行下面的命令即可。

npm run changelog

4. 可视化提交工具

在VSCode的EXTENSIONS中找到git-commit-plugin插件,点击install进行安装。

安装完成之后,可以通过git add添加要提交的文件,接着,在Source Control点击show git commit template图标,开始编写Commit Message信息。

接下来只需要按照指引进行Commit Message的编写。

当编写完成之后,可以得到符合规范的Commit Message,这个时候就可以放心将Commit Message及所修改的文件进行提交啦。

其他博主优秀文
阮一峰

相关内容