Git Commit 提交规范

342 阅读4分钟

本文由 简悦 SimpRead 转码, 原文地址 www.cnblogs.com

前言

🍊缘由

没想到玩了多年 git,竟然还有提交描述规范

🏀事情起因:
在工作迭代过程中,偶然发现同组小帅哥 Git 提交描述总是和自己的不大一样,秉承好奇至上的我特意去研究了下。竟然发现提交了这么多年的 Git 描述竟然不符合规范,遂总结一下大厂和一些开源项目的的 Git 提交规范,跟大家分享一下。

🍋实例展示

规范 Git 提交记录

本狗不规范 Git 提交记录

🔔 分析
团队开发中,一般都会使用 Git 版本控制工具来管理代码,每个组员提交代码时都会写 commit message。如果没有一个统一标准规范,每个人都有自己的风格,项目小成员少还好,如果团队成员多,项目复杂,十分不利于阅读管理和维护

通过上方图中提交记录对比,明显感觉上方 Git 提交记录较为规范美观。虽然本狗写的提交记录也比较清晰,但是随着项目推进及人员的混杂,规范标准必须执行!

因此为了后期一劳永逸,需要制定统一标准,提交记录清晰明了,让团队一看就能知道此次提交的目的,减少管理时间成本。

🎯主要目标

实现 3 大重点

1. IDEA Git 描述规范插件
2. Git 提交描述格式规范
3. 实例 Git 提交描述解析

正文

🥦目标分析

1.IDEA Git 描述规范插件?

【git commit message helper】介绍

一个可帮助您标准化提交内容的插件

【git commit message helper】 插件安装步骤
  • 点击【File】=>【Settings】

  • 【Plugins】=>【Marketplace】搜索 git commit message helper,点击【Install】

  • 安装后点击【Installed】查看是否成功

【git commit message helper】 使用
  • 代码提交时,点击如下图标

  • 补充提交记录

    有问题先别着急,耐心往下看,慢慢分析每个属性!!!

2. Git 提交描述格式规范解析

Git 提交描述规则可以映射到插件下图部分,Header, Body,Footer

一个规范的 Git 提交描述格式如下

<type>(<scope>): <subject>


<body>


<footer>


Header 头只有一行, 包括 3 个字段: type(必需), scope(可选), subject(必需)

属性描述
type(必填)commit 提交类型
scope(选填)commint 提交影响范围
subject(必填)commint 提交简短描述
  • type 提交类型

type 说明提交类型:只允许使用下面属性

属性描述
feat新功能
fix修改 bug
docs文档修改
style格式修改
refactor重构
perf性能提升
test测试
build构建系统
ci对 CI 配置文件修改
chore修改构建流程、或者增加依赖库、工具
revert回滚版本
  • scope 作用范围

scope 说明提交影响范围:一般是修改的什么模块或者是什么功能,如【xx 模块】/【xx 功能】

  • subject 提交主题

subject 说明提交简短描述:一般是 5-10 各自简单描述做的任务,如【xx 模块加入消息队列】

2.Body 体

body 说明提交详细描述:对于功能详细的描述,解释为什么加入这段代码,为什么调整优化等,如因分布式锁问题,导致死锁问题,优化调整 xxxx

.Footer 脚包括 2 个字段: Breaking Changes、Closed Issues

属性描述
Breaking Changes中断性不兼容变动 (不常用)
Closed Issues关闭 Issues 问题
  • Breaking Changes

当前版本与之前版本不兼容,如迭代升级对之前版本不能做到兼容,就需要在 Breaking Changes 后面描述变动理由和迁移方法之类,此属性不常用

  • Closed Issues
    当前 commit 提交针对某个 issue 问题或者是禅道 bug 编号等,如 Closes # 234
4. 完成填充示例

3. 实例 Git 提交解析

举几个常用 git 提交描述案例

短信模块新功能提交

用户模块禅道 bug1026 修复提交

迭代 SQL 脚本提交

总结

本文通过 IDEA 中 Git 描述规范插件【git commit message helper】为契机,介绍 Git 提交描述规范流程步骤,最后以实际例子作为体验对象,融汇插件及规范流程,实操 Git Commit 提交描述。希望大家能体会到流程的好处,团队规范统一的益处