Kwin Huang


Commit message 和 Change log 编写指南


Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交。

git commit -m "hello world"

如果不写 -m 及后面的信息, 命令行会进入 vim 模式, 让你输入详细的 commit 信息


一般来说, commit 信息应该清晰明了,

按照 Angular 开发团队的代码提交规范

  • [feat]: A new feature
  • [fix]: A bug fix
  • [docs]: Documentation only changes
  • [style]: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • [refactor]: A code change that neither fixes a bug nor adds a feature
  • [perf]: A code change that improves performance
  • [test]: Adding missing or correcting existing tests
  • [chore]: Changes to the build process or auxiliary tools and libraries such as documentation generation

详情可 参考此处

Commit message 的作用

格式化的Commit message,有几个好处。


可以用以下命令来 快速的查看 commit message 的相关信息

git log --pretty=format:"%C(auto)%h %ad | %C(auto)%s%d  %Cblue(%an)" --date=short


(3)可以直接从commit生成Change log。

Commit message 的格式

每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。

<type>(<scope>): <subject>
// 空一行
// 空一行

其中,Header 是必需的,Body 和 Footer 可以省略。


生成 Change log

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

npm install -g conventional-changelog
cd my-project
conventional-changelog -p angular -i -w

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

conventional-changelog -p angular -i -w -r 0