0. git commit message编写指南
【声明】参考angular代码规范及部分博客整理,仅学习记录,非商用。
1. 概述
日常开发中使用 git 提交代码要求一定要写 git commit message,否则就无提交代码。
commit message作为改动说明,保存在 commit 历史中,方便回溯。
规范的 log 不仅有助于他人 review, 还可以有效的输出 CHANGELOG,甚至对于项目的研发质量都有很大的提升。
规范git commit到底有哪些好处呢?
- 便于程序员对提交历史进行追溯,了解发生了什么情况。
- 一旦约束了commit message,意味着我们将慎重的进行每一次提交,不能再一股脑的把各种各样的改动都放在一个git commit里面,这样一来整个代码改动的历史也将更加清晰。
- 格式化的commit message才可以用于自动化输出Change log。
本篇主要学习Angular 规范。
2. Angular
2.1. Angular规范
Commit message 都包括三个部分:Header,Body 和 Footer。
其中,Header 是必需的,Body 和 Footer 可以省略。
不管是哪一个部分,任何一行都不得超过100个字符。这是为了避免自动换行影响美观,方便在 github 和其他 git 工具上更容易阅读。
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
标题行:50个字符以内,描述主要变更内容
主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括:
- 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等
- 他如何解决这个问题? 具体描述解决问题的步骤
- 是否存在副作用、风险?
尾部:如果需要的化可以添加一个链接到issue地址或者其它文档,或者关闭某个issue。
2.2. 参数说明
2.2.1. Header部分
常用的 git 客户端工具,在查看 git log 的时候,往往只会显示 git commit message 第一行的内容,header 的作用就是规范第一行的内容,使我们在浏览 git log 的时候,能一眼就看出每次 commit 的内容。
规范中Header部分只有一行,包括三个字段:type(必需)、scope(可选)和subject(必需)。
2.2.1.1. type
type: 代表某次提交的类型,比如是修复一个bug还是增加一个新的feature。
type类型 | Annotation |
---|---|
feat |