前言
Git 是目前世界上最先进的分布式版本控制系统(没有之一)。
Git 每次提交代码时,都需要写 Commit Message (提交说明),否则就不允许提交。
$ git commit -m '第一次提交'
在工作中一份清晰简介规范的 Commit Message 能让后续代码审查、信息查找、版本回退都更加高效可靠。
![4f060e8604c96611a08662fac9043c12.png](https://img-blog.csdnimg.cn/img_convert/4f060e8604c96611a08662fac9043c12.png)
Commit Message 的标准格式
Commit Message 标准格式包括三个部分:Header,Body,Footer
<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
其中,Header 是必需的,Body 和 Footer 可以省略
一、Header
Header 部分只有一行,包括三个字段:type(必需)、scope(可选)、subject(必需)
1. type
用于说明类型。可分以下几种类型
![e21f85bd29bf346fbd226f7fe8bdfc74.png](https://img-blog.csdnimg.cn/img_convert/e21f85bd29bf346fbd226f7fe8bdfc74.png)
2. scope
用于说明影响的范围,比如数据层、控制层、视图层等等。
3. subject
主题,简短描述。一行
二、Body
对 subject 的补充。可以多行。
三、Footer
主要是一些关联 issue 的操作。
Commitizen
Commitizen 是一个撰写符合上面 Commit Message 标准的一款工具。
一、安装
全局安装
1. 下载
npm install -g commitizen cz-conventional-changelog
2. 创建 ~/.czrc 文件,写入如何内容
{
3. 这时就可以全局使用 git cz 命令来代替 git commit 命令了
项目局部使用
1. 下载 commitizen
npm install --save-dev commitizen
2. 配置,打开项目的 package.json 文件,配置如下。
{
3. 这时就可以使用 npm run commit 脚本了
二、使用
全局安装使用 git cz 来代替 git commit
局部安装使用 npm run commit 脚本来代替 git commit
三、详细步骤说明
1. 选择此次提交的类型
注意:不要使用 git bash (不能进行键盘上下选择)
![1aa91847307b8da164691d3fc604c3f2.png](https://img-blog.csdnimg.cn/img_convert/1aa91847307b8da164691d3fc604c3f2.png)
2. 输入这次提交的影响范围
如没有,可直接回车跳过
![72204f8a844aedcba7736ec241d7925e.png](https://img-blog.csdnimg.cn/img_convert/72204f8a844aedcba7736ec241d7925e.png)
3. 输入这次提交的主题
注意:精简,字数限制。不可跳过
![65e24e434a7f51d2aef9663da97a7991.png](https://img-blog.csdnimg.cn/img_convert/65e24e434a7f51d2aef9663da97a7991.png)
4. 输入这次提交的详细描述
如没有,可直接回车跳过
![dad235897a270d80938aa50961f35a78.png](https://img-blog.csdnimg.cn/img_convert/dad235897a270d80938aa50961f35a78.png)
5. 这次提交是否有突破性变化(是否不向下兼容)
注意:如果输入 y ,会有新的提示
![ca61600e2018c1f80b5996fcbfdb719c.png](https://img-blog.csdnimg.cn/img_convert/ca61600e2018c1f80b5996fcbfdb719c.png)
6. 这次提交是否有关联的 issues
注意:如果输入 y ,会有新的提示
![269dec215bfa7ea21248c08ea484d870.png](https://img-blog.csdnimg.cn/img_convert/269dec215bfa7ea21248c08ea484d870.png)
7. 完成
![4b83aa0c20164bdf0d2447513e92d71d.png](https://img-blog.csdnimg.cn/img_convert/4b83aa0c20164bdf0d2447513e92d71d.png)
8. 查看日志
![750e0e74d4c0c4b216893ddaaf4d1985.png](https://img-blog.csdnimg.cn/img_convert/750e0e74d4c0c4b216893ddaaf4d1985.png)
此文转载自:千锋HTML5学院
原文链接:使用 commitizen 规范 Git 提交说明
Eric:JavaScript中的链式操作zhuanlan.zhihu.com![465032223c2802ab1912b0b259e42be6.png](https://img-blog.csdnimg.cn/img_convert/465032223c2802ab1912b0b259e42be6.png)
![85926e8129ecedfb79a0ecc2c3f06df7.png](https://img-blog.csdnimg.cn/img_convert/85926e8129ecedfb79a0ecc2c3f06df7.png)