意义
代码需要编程规范,提交也需要说明规范。简明扼要的提交说明能让自己和他人快速的了解每一次提交都对代码做了哪些重要变动,规范优秀的提交说明可以用于自动生成Change log(发布时用于说明版本差异)。混乱或无意义的提交说明只能降低效率并给人带来不严谨不牛逼的坏映象。
提交说明没有编程规范那么复杂,记住几个关键词和要点就可以写出优美的commit。
格式
提交说明大概分三部分,类型,范围和简要说明,格式如:<type>(<scope>): <subject>
-
type用于说明 commit 的类别,是最重要的信息,常用的类型其实就下面几个。
- add:增加
- del:删除
- mod:修改
- update:更新
- fix:修复bug
- docs:文档(documentation)
- style: 格式(不影响代码运行的变动)
- refactor:重构(即不是新增功能,也不是修改bug的代码变动)
- test:增加测试
- chore:构建过程或辅助工具的变动
- perf : 性能优化
- revert : 撤销上一次的 commit
- merge:合并分支操作
-
scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,可选。
-
subject是 commit 目的的简短描述,要简明扼要,说关键,详细信息可以通过git查看修改差异。
要点
- 少修改,多提交。尽可能每改一个要点就提交一次,这样提交说明也能容易描述。也便于出问题时代码回退。“提交”的概念是具有独立的功能、修正等作用。 小可以小到只修改一行,大可以到改动很多文件, 但划分的标准不变,一个提交只解决一个问题的。
- 简明扼要,不要写的太详细,最好一行搞定,要一目了然,详细信息可以查看代码差异。
- 如果确实需要一些较长内容的说明,则第一行简明扼要,第二行空行,从第三行起开始详细说明。
- 建议全部英文,首字母大写。如果一定要用中文,请尽量使用 UTF-8 编码。
- 说明要写是什么和为什么,而不是如何做。也就是说关键是目的或原因而不是过程方法。
如果你想修改一下早已提交过的不规范说明,也是有办法的。具体请看《如何修改Git提交记录》。