【规范】看看人家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


相关推荐
嘤嘤怪呆呆狗12 小时前
【开发问题记录】执行 git cz 报require() of ES Module…… 错误
前端·javascript·vue.js·git·vue
阳区欠19 小时前
【Linux】Linux的基础工具
linux·服务器·git·vim·gcc/g++·makefile/make·gdb/cgdb
l and1 天前
Git 行尾换行符,导致无法进入游戏
android·git
风行男孩1 天前
Git 中忽略文件的版本跟踪(初级方法及高级方法)
git
ziyu_jia1 天前
【日常开发】Git Stash使用技巧
git·git stash
catmes1 天前
Git开发常用命令总结
git
是姜姜啊!2 天前
git命令
git
云只上2 天前
git更改当前项目的远程仓库,保留原始仓库提交记录提交到新仓库
git
__zhangheng2 天前
Mac 查询IP配置,网络代理
linux·服务器·网络·git
乐闻x2 天前
VSCode 插件开发实战(十二):如何集成Git操作能力
ide·git·vscode