Edison's Studio.

Git commit 规范

Word count: 529Reading time: 1 min
2022/02/13
loading

commit message format

提交格式

1
2
3
4
5
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
type
  • build:对构建系统或者外部依赖项进行了修改
  • ci:对CI配置文件或脚本进行了修改
  • feature:增加新的特征,一般指的是大的变更
  • func: 增加新的功能,一般指小的功能
  • fix:修复bug
  • impr: improvement,小的代码设计改进
  • conf: 仅配置变化,Spring配置、properties文件
  • perf:提高性能的代码更改
  • refactor:既不是修复bug也不是添加特征的代码重构
  • docs:对文档进行了修改
  • style:不影响代码含义的修改,比如空格、格式化、缺失的分号等
  • typo: 修复小的拼写错误
  • test:增加确实的测试或者矫正已存在的测试
  • revert: 回滚提交
scope

选填,一般填写作用于哪个文件

subject

必填,变更的摘要

  • 使用动宾语句,仅讲变更的内容
  • 现在时态:change不是changing也不是changed
  • 不要大写首字母
  • 不在末尾添加句号
body

和主题设置类似,使用命令式、现在时态

应该包含修改的动机以及和之前行为的对比.

  • 回滚操作,需要添加本句:This reverts commit hash: **********
  • BREAKING CHANGE: 不兼容的更新说明,比如public API的修改等
  • Closes: 指针对哪个issue的修改,可以关联某个story或者bug

一些想法

为什么需要规范

git提交规范,有利于代码变动的稳定性监控。更大的价值是,后续跟进维护的同学可以通过commit查找变更的细节,以及了解某段代码引入的目的。

中文or英文

在内部工程中,如果团队大多数都是中国人,建议还是使用中文描述。不准确的英文描述会影响后续对commit的阅读,也就无所谓理解了。当然,最好还是使用英文。

参考

Commit message 和 Change log 编写指南 - 阮一峰
Angular提交信息规范
美团 GIT Commit Log规范
conventional commits

CATALOG
  1. 1. commit message format
    1. 1.1. 提交格式
      1. 1.1.1. type
      2. 1.1.2. scope
      3. 1.1.3. subject
      4. 1.1.4. body
      5. 1.1.5. footer
  2. 2. 一些想法
    1. 2.1. 为什么需要规范
    2. 2.2. 中文or英文
  3. 3. 参考