-
Notifications
You must be signed in to change notification settings - Fork 74
Commit 提交信息规范
为保证 git 提交记录能够清晰的反应提交的内容,我们制定了如下 commit 提交信息规范。此规范涵盖了社区贡献者与 Deepin 内部均需遵守的规范格式。
由于社区贡献者与 Deepin 内部员工的贡献方式有别,关于以下规范中的部分信息是否需要填写的要求也会有所差异,将会在随后的段落中另行描述。
以下为满足目前提交信息规范的基准格式。(如果您是 deepin 内部开发人员,则 Log:
一行必须存在,如果是外部贡献者,则 Log:
一行可选,但仍建议提供)
类型: 标题概要
详细描述
Log: 填写面向于产品的总结性内容,用于生成更新日志
关于类型详情以及选填的其它元信息等内容,请参阅下方提供的完整的格式规范描述。
我们使用类如 约定式提交 格式的提交信息格式,其中分别包含提交的标题概要,详细描述以及额外元信息三个部分,这三个部分均为必须提供的部分:
类型: 标题概要
详细描述
元信息类型: 元信息内容
标题概要一部分中需要提供的类型可参见 约定式提交 中的介绍。
相比约定式提交,我们额外对每个提交的提交信息有附带元信息的要求,元信息大概有下面几种:
Log: 填写面向于产品的总结性内容,用于生成更新日志(必填)
Bug: 内部开发人员适用,填写修复的缺陷链接
Issue: 填写对应的 GitHub Issue 信息
Task: 内部开发人员适用,填写相关任务链接
Influence: 此提交会造成的影响
社区贡献者仅需了解这些元信息字段的存在即可,参见后续关于社区贡献者的段落。
这些元信息是为了方便自动化处理和项目管理而存在的,由于自动化流水线检查过程中的检查项会利用这些元信息字段,故一些字段是必须提供的。
举例而言,一个符合提交规范的提交信息大概像是这样(这个例子即为 dtkgui@3ecea3 的提交信息):
feat: 支持无标题、窗口圆角、系统菜单
窗口圆角、系统菜单兼容旧借口,新增无标题栏的适配
Log: 支持无标题、窗口圆角、系统菜单
Task: https://pms.uniontech.com/zentao/task-view-93008.html
Influence: 所有dtk应用的标题栏、窗口圆角
上述的元信息字段描述了一个字段为必填,即 Log
。这些字段的值均为站在产品发布角度所使用的值,对于社区贡献者可能会有些生疏。若您并不了解相关的填写方式,您也不必担心。您可以将元信息部分留空,只在 Commit 信息中保留标题与描述两个部分,即下面这样:
类型: 标题概要
详细描述
尽管这样的提交可能造成持续集成显示检查失败,您可以暂时忽略关于提交信息缺失元信息的相关提示。我们的社区工作人员和其它贡献者可帮您在合并时修改提交日志,帮您补充缺失但必要的元信息。
- 提交信息的标题与描述 建议使用英文 但并非强制要求。若您是英文新手,您也 可以使用中文。
- 涵盖描述内容的元信息(如
Log
与Influence
)须使用中文描述。 - 标题中的类型后使用半角冒号,后随一个半角空格。例如
fix: 标题
而不是fix:标题
或fix:标题
。 - 元信息中类型后同样使用半角冒号,后随一个半角空格。例如
Log: 更新日志内容
。 -
Log
类型的元信息必须存在,作为一般社区贡献者可暂不提供,作为有合并权限的贡献者,应在合并时 酌情考虑 将缺失的元信息予以补齐再进行合并。
Welcome to join the Deepin developer community. You could talk about even everything in the following channels:
-
GitHub developer center(recommended)
-
IRC #deepin channel(recommended)
- Google groups: deepin-users, deepin-developers