Git 规范

647

统一团队的 Git 工作流,包括分支工作流、Git commit 日志、tag 规范、README 模板、issue 模板,便于后续代码 review,版本发布以及日志自动化生成等等。

分支工作流

Git 分支工作流.png

根据项目实际情况安排分支工作流!

Commit 日志

日志所有内容务必使用 ASCII 字符,不要使用中文或 emoji,要求最大化兼容,便于程序处理。

commit 包括三个部分:HeaderBodyFooter

commit 格式如下:

<type>([scope]): <subject>

[body]

[footer]

示例:

feature(auth): increase length of new API key

the length is increased from 24 to 32 for new API keys

close #12

头部(Header)

标题部分只有一行,包括三个字段:类型、说明、标题。

commit-tag.png

  • 破坏兼容性的改动,影响到依赖本项目的其它系统,请在类型后面加上半角感叹号!」。
  • 标题务必不超过 72 个字符,务必精炼易懂。如无法限制在 72 个字符内,请拆分提交。
  • 描写部分小写字母开头、专有名词首字母大写、缩略语大写、结尾不用句号。

主体(Body)

标题与正文间隔一个空行。

如果内容简单,请按照标题格式。超过一行,按照常规的段落格式。

首字母大写,正确使用标点。可以多行、多段、每行不超过 72 个字符、行尾不出现空格、段落用空行隔开。

示例

feature!(api): limit array length to 256 elements

BREAKING: Array length limit is added to further limit request size. A
small number of existing apps may receive HTTP 413 "Payload too Large"
error.

脚注(Footer)

正文与脚注间隔一个空行。

Tag 规范

语义化版本.png

Issue 模板

Issue.png

README 模板

Issue.png