Header包括三个字段:type、scope和 subject。(scope可选)
git commit -m 'fix: #512 bug'
git commit -m 'feat($login): remember user name'
(1)type
type用于说明 commit 的类别,只允许使用下面7个标识:
==feat : 新功能==
==fix : 修补bug==
==docs:文档==
==style:格式==
==refactor:重构==
==test : 增加测试==
==chore:构建过程或辅助工具的变动==
type为==feat和fix==,该 commit 将出现在 Change log 之中。其他标识可选。
(2)scope
scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
(3)subject
subject是 commit 目的的简短描述,不超过50个字符。
//以动词开头,使用第一人称现在时,比如change,而不是changed或changes
//第一个字母小写
//结尾不加句号(.)
上面的只是一种规范,有工具可以很好的生成commit log,但不遵循也能够提交。但有规范的清晰明了的commit message既便于浏览和查找以及生成commit log,同时也是 一种良好的习惯。
另外很重要的一点是:
当我们执行commit命令之后发现有文件未添加或是commit message书写有错误,如果还未push到远端,那么可以使用下面方法进行处理。如果已经push到远端,那么其就无法被修改。
//添加未被添加到暂存区的文件
//然后使用--amend
git add [filename]
git commit --amend
//会自动加上已经修改但未被添加到暂存区的文件
git commit --amend -a