【规范】看看人家Git提交描述,那叫一个规矩

前言

🍊缘由

没想到玩了多年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提交描述格式如下

less 复制代码
# Header头
<type>(<scope>): <subject>

# Body体
<body>

# Footer体
<footer>
1.Header头

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

3.Footer脚

.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提交描述。希望大家能体会到流程的好处,团队规范统一的益处


🍈猜你想问

如何与狗哥联系进行探讨

关注公众号【JavaDog程序狗】

公众号回复【入群】或者【加入】,便可成为【程序员学习交流摸鱼群】的一员,问题随便问,牛逼随便吹。

此群优势:

  1. 技术交流随时沟通
  2. 任何私活资源免费分享
  3. 实时科技动态抢先知晓
  4. CSDN资源免费下载
  5. 本人一切源码均群内开源,可免费使用
2.踩踩狗哥博客

javadog.net

大家可以在里面留言,随意发挥,有问必答


🍯猜你喜欢

文章推荐

【工具】用nvm管理nodejs版本切换,真香!

【苹果】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本

【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目

【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序

【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!

【ChatGPT】手摸手,带你玩转ChatGPT

【ChatGPT】SpringBoot+uniapp+uview2对接OpenAI,带你开发玩转ChatGPT


相关推荐
编码小袁14 分钟前
深入了解Git、GitHub、GitLab及其应用技巧
git·gitlab·github
清源妙木真菌2 小时前
Linux:git的了解和基础使用(保姆级教程)
git
但老师11 小时前
Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法
git
秃头女孩y11 小时前
git创建分支
git
研究是为了理解16 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT16 小时前
Git 的基本概念和使用方式
git
Winston Wood20 小时前
一文了解git TAG
git·版本控制
喵喵先森20 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu54321 小时前
反向代理模块
linux·开发语言·网络·git
binishuaio1 天前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git