Commit Message 编写指南
作者:碎碎酱
参考文档:
《Commit message 和 Change log 编写指南》
我们在每次提交代码时,都需要编写Commit Message,否则是不允许提交的。git commit -m "hello world"
编写Commit Message需要遵循一定的范式,内容应该清晰明了,指明本次提交的目的,便于日后追踪问题。
普通的范式:
良好的范式:
Commit Message 格式
一般来说,Commit Message 应包含三部分内容:Header、Body、Footer
|
|
Header
Header部分应只包含一行,包括三个字段:type
、scope
和subject
type
type
用于说明Commit的类型,包含一下7种类型1234567feat:新功能(feature)fix:修补bugdocs:文档(documentation)style: 格式(不影响代码运行的变动)refactor:重构(即不是新增功能,也不是修改bug的代码变动)test:增加测试chore:构建过程或辅助工具的变动scope
scope
用于说明本次Commit所影响的范围,比如controller
、user
或者README
,视项目的不同而不同subject
subject
是本次Commit目的的简短描述,一般不要超过50个字符123以动词开头,使用第一人称现在时,比如change,而不是changed或changes第一个字母小写结尾不加句号(.)
Body
Body
是对本地提交的一个详细描述,下面是一个示例
|
|
Footer
Footer
只用于两种情况
1. 不兼容改动
如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE
开头,后面是对变动的描述、以及变动理由和迁移方法。
2. 关闭Issue
如果当前Commit是针对某个Issue的提交,那么久可以在Footer中关闭这个Issue:Closes #234
Commitizen
Commitizen是一个编写合格Commit Message的实用工具
安装:npm install -g commitizen
添加项目支持:commitizen init cz-conventional-changelog --save --save-exact
以后,凡事需要git commit
命令的地方,都用git cz
来代替,会自动的出现选项,用来生成符合格式的Commit Message