Git 提交规范

2021/7/5 Git

Git是开源分布式版本控制系统,日常开发中常用来管理代码提交、恢复、追踪,是团队开发最常用的一个代码管理工具。

在我们修改了代码并且提交之前,常会使用git commit -m 'change'命令来描述我们代码改动的内容,但是很多都不规范,随处可见的 git commit -m 'update',以致于不能清晰地知道每次提交代码的变更内容,所以需要一种规范来管理代码提交的内容。

# Git Commit message规范

规范中定义的格式有3个内容:

  • Header
  • Body
  • Footer
<type> (<scope>):<subject>

<body>

<footer>

Header部分有3个字段: type(必需), scope(可选), subject(必需)

type(必需) : Type of change:commit的类别,type用于说明commit的类别,常用的标识如下;

feat:新功能(feature)

fix:修补bug

docs:文档(documentation)

style: 格式(不影响代码运行的变动,空格,格式化,等等)

refactor:重构(即不是新增功能,也不是修改bug的代码变动

perf: 性能 (提高代码性能的改变)

test:增加测试或者修改测试

build: 影响构建系统或外部依赖项的更改(maven,gradle,npm 等等)

ci: 对CI配置文件和脚本的更改

chore:对非 src 和 test 目录的修改

revert: Revert a commit

最常用的就是feat合fix两种type;

scope(可选):Scope of this change:此次commit的影响模块;

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

subject(必需):Short description:简短的描述此次代码变更的主要内容

subject是 commit 目的的简短描述,不超过50个字符,主要介绍此次代码变更的主要内容。

举个例子: eg: fix(修复排序): 修复我的验收列表正序排序 程立彪 2021/8/20 16:35

# Body

Body 部分是对本次 commit 的详细描述,可以分成多行。

如:

(1)增加订单号字段;

(2)增加了订单退款接口;

日常项目开发中,如果Header中subject已经描述清楚此次代码变更的内容后,Body部分就可以为空。

(1)不兼容变动

(2)关闭 Issue

日常项目中开发,Footer不常用,可为空。

# IDEA插件Git Commit Template使用

# 插件安装

image-20210823135736829

# 提交使用

image-20210823135842275

image-20210823135956163

image-20210823140005691