zhaozhuang1210

Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。但是一般来说,commit message 应该清晰明了,说明本次提交的目的。


一、git提交格式

git commit -m "hello world"

上面代码的 -m 参数,就是用来指定 commit mesage 的。

如果一行不够,可以只执行 git commit ,就会跳出文本编辑器,让你写多行。

二、commit message格式

<type>(<scope>): <subject>

1、type (必须)

用于说明git commit的类别,只允许使用下面的标识 。

feat :新功能(feature)。

fix : 修复bug 。

docs :文档(documentation)。

style : 格式(不影响代码运行的变动)。

refactor : 重构(既不是新增功能,也不是修改bug的代码变动)。

test : 增加测试 。

chore : 构建过程或辅助工具的变动 。

revert : 回滚到上一个版本 。

merge : 代码合并 。

如果type为 featfix ,则该 commit 将肯定出现在 Change log 之中。其他情况由你决定,要不要放入 Change log,(建议不要放入)。

2、scope(可选)

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。如果你的修改影响了不止一个scope,你可以使用* 代替。

3、subject(必须)

subject是commit目的的简短描述,不超过50个字符。建议使用中文(毕竟中国人用中文描述问题能更清楚一些),单词开头的第一个字母小写,且结尾不加句号或其他标点符号。

三、生成 Change log

如果你的所有 Commit 都符合格式,那么发布新版本时, Change log 就可以用脚本自动生成。生成的文档应该包括以下三个部分:

  • New features
  • Bug fixes
  • Breaking changes.

每个部分都会罗列相关的 commit ,并且有指向这些 commit 的链接。并且生成的文档允许手动修改,所以发布前,你还可以添加其他内容。

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

$ npm install -g conventional-changelog
$ cd my-project
$ conventional-changelog -p angular -i CHANGELOG.md -w

分类:

技术点:

相关文章: