Git代码提交规范.md 2.9 KB

Git 提交规范

前言

当一个团队在协作开发时,针对 git commit 规范是十分必须的,每一次提交都务必带上说明信息,同时说明信息亦要有格式规范,即团队要有良好的约定。目的是制定统一的标准,使得提交历史信息条理清晰,更是为了项目有条不紊地迭代以及提高开发者的效率。

由于历史原因,前后端项目开发之前并没有约定提交规范,甚至有些历史提交的提交信息根本没有写清楚修改内容、只写了毫无意义的随机字母,这些提交信息给阅读项目代码迭代带来了很大的困难。由此可见,统一的提交规范必须严格要求。

规范

基本原则

  • 准确、扼要概括当前提交的修改做了什么工作

  • 多个修改内容,需要用数字序号列出

  • 严禁无意义的字符或模糊描述一笔带过修改内容,如果确实是细微的改动,也要清楚描述,例如:“代码格式化”,“fix typo”,“fix minor bug”

提交格式

<type>: <title>
// 空一行
<body>

其中,type 和 title 是必须的。

type 参考本节提交类别部分。

title 是简要概括提交所修改的内容。

body 是详细描述提交内容,多个修改点可以用数字序号依次列出。body 的内容要求简洁明了,同时更加能突出此次改动的细节即可。这部分虽然不是强制要求,但在时间允许的条件下,尽可能完善

在命令行中,可以使用 '''\ 进行换行

示例

git commit -m '''
feature: 新增缓存管理功能

1. 添加缓存删除方法;
2. 添加获取缓存键方法;
3. 统一缓存管理,格式化缓存键;
'''

提交类别 | type

  • feature: 新功能

  • fix : 修复bug

  • doc : 文档改变

  • style : 代码格式改变

  • refactor : 某个已有功能重构

  • perf : 性能优化

  • test : 增加测试

  • revert : 撤销上一次的 commit

  • chore : 构建过程或辅助工具的变动

  • merge : 合并代码(更推荐使用 Git 自带的 merge message,详细记录合并信息)

补充

  1. 如果是 merge 提交,可以采用 Git 自动生成的 merge message 作为提交信息,尤其是有冲突的时候,可以更加详细反映修改内容。

下面是一个 Git merge message 的样例:

Merge branch 'v1.9.0_nfby' of https://gogs.ywtinfo.com/ywt/wapapi into v1.9.0_nfby

# Conflicts:
# src/main/java/com/ywt/gapi/checkup_booking/CheckupBooking.java
# src/main/java/com/ywt/gapi/checkup_booking/CheckupBookingService.java
# src/main/java/com/ywt/gapi/checkup_booking/CheckupBookingServiceGrpc.java
# src/main/java/com/ywt/wapapi/web/controllers/CheckupBookingController.java

Git 的 merge message,默认在 .git/MERGE_MSG 文件内,提交命令为:

git commit --file .git/MERGE_MSG