1 分钟让你拥有规范的 git log

change log

从规范化提交说起,我们现在用的熟悉的 git,可能刚开始会不知道提交的时候要写点什么,后面写多了之后,干脆啥都不写直接提交。 我们通常称为无注释的提交。其实有些情况下的注释,不看好过看,你觉得呢?如下图,是无意思的提交,我就是想提交但是我不知道我应该写一些什么说明。或者是说明已经写多了又没什么作用,懒得写了。

git log demo first git log demo second

我们可以再看下 vue 项目的提交记录。链接可以戳这里

vue 的规范化提交

vue git log

这里可以看到其实别人家的注释写的还是很规范的,那么,我们翻下他们的 package.json 看看他们是怎么做的。 可以点击这里

找找找,看到了一句。

"scripts": {
    "commit": "git-cz"
}
1
2
3

就是运行npm run commit的时候实际跑的是npx git-cz。那么我们找找看 vue 的 dev 引用

"devDependencies": {
    "commitizen": "^2.9.6",
    "conventional-changelog": "^1.1.3"
}
1
2
3
4

有这么两句,其实是用到了两个包。commitizenconventional-changelog

规范化提交的好处

那么我们接下来思考一个问题,这么做有什么好处呢? 很显然,这样做可以让人一样看到你的提交说明,比如fix(ssr): support rendering comment (#9128)这句,肯定是修复了#9128 这个问题的 ssr 服务端渲染的支持注释的写法。

而且,如果你用的规范化提交下来,你的 changelog 是可以自动生成的。版本发布的时候也不用特意去收集什么版本信息了。你的 commit 就是发布信息。

再者,你的提交时间并不会延长,因为你有小工具,你做的是选择题,而不是填空题。难度大大降低。

  1. 他人容易理解你的提交说明,沟通效率高
  2. 自动生成 changelog,减少工作量
  3. 不会再陷入不知道怎么说明的尴尬境界
  4. 提高自己的编程素养,让自己愉悦

规范化提交怎么做?

我个人总结了下,其实很简单的。三板斧解决。

1.安装 commitizen 和 cz-conventional-changelog

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

如果你要用conventional-changelog也可以

2.初始化配置

commitizen init cz-conventional-changelog --save-dev --save-exact
1

3.增加 npm run commit 到 script

package.json

"scripts": {
	"commit": "npx git-cz"
}
1
2
3

当全部配置完成后,你只需要两句命令就可以代替不知道写什么提交说明的尴尬处境了。

git add .
npm run commit
1
2

会有东西让你选择,如下图。