Git提交信息模板

如何设计和使用一个好的 git commit messages 规范

1 概述

如何设计和使用一个好的 commit messages 规范

在一个团队协作的项目中,开发人员需要经常提交一些代码去修复bug或者实现新的feature。

而项目中的文件和实现什么功能、解决什么问题都会渐渐淡忘,最后需要浪费时间去阅读代码。但是好的 commit messages 规范 有帮助到我们,它也反映了一个开发人员是否是良好的协作者。

2 目的

编写良好的 commit messages 可以达到3个重要的目的:

  • 加快和简化代码审查(code reviews)
  • 帮助理解一个更改
  • 帮助未来的维护人员弄清楚为什么以及如何产生的更改,从而使故障排查和调试更容易

3 Commit Messages 的基本语法

格式为:

1
2
3
4
5
<type>: <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
  • type: 本次 commit 的类型,诸如 bugfix docs style 等
  • scope: 本次 commit 波及的范围
  • subject: 简明扼要的阐述下本次 commit 的主旨
  • body: 本次 commit 详细的描述
  • footer: 描述下与之关联的 issue 或 break change

3.1 Type的类别说明:

  • feat: 添加新特性
  • bugfix: 修复bug
  • docs: 仅仅修改了文档
  • style: 仅仅修改了空格、格式缩进、都好等等,不改变代码逻辑
  • refactor: 代码重构,没有加新功能或者修复bug
  • perf: 增加代码进行性能测试
  • test: 增加测试用例
  • chore: 改变构建流程、或者增加依赖库、工具等

4 Commit Messages 格式要求

1
2
3
4
5
6
7
8
9
# 标题行:50个字符以内,描述主要变更内容
#
# 主体内容:更详细的说明文本,建议72个字符以内。 需要描述的信息包括:
#
# * 为什么这个变更是必须的? 它可能是用来修复一个bug,增加一个feature,提升性能、可靠性、稳定性等等
# * 他如何解决这个问题? 具体描述解决问题的步骤
# * 是否存在副作用、风险? 
#
# 如果需要的化可以添加一个链接到issue地址或者其它文档

Git Commit Template 配置

1
2
3
4
5
feat|bugfix|docs|style|refactor|perf|test|chore|(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

5 总结

6 参考

  1. commit-messages-guide
使用 Hugo 构建
主题 StackJimmy 设计