🏆 文章目标:了解通用的Git commit规范,并在企业的团队内部进行实践。
🍀 如何规范你的Git commit(理论结合企业的实践)
✅ 创作者:Jay…
🎉 个人主页:Jay的个人主页
🍁 展望:若本篇讲解内容帮助到您,请帮忙点个赞吧,再点点您的小手关注下,您的支持是我继续写作的最大动力,谢谢。🙏

背景

commit message 目的是为了清晰明了的体现本次提交的内容,以及提交的目的。

但在日常开发中,大家的commit message千奇百怪,中英文混合使用,或者干脆就敷衍了事。这就导致后续代码维护成本特别大,追溯时,连开发者都不知道自己改了什么。

基于以上这些问题,我们希望通过某种方式来监控用户的git commit message,让规范更好的服务于质量,提高大家的研发效率。

对比

如下是我根据部门内部的情况,再结合通用的提交规范进行微调后实践的情况。当然,没有最好,只有最合适,大家可以自行发挥!详细的内部管理文档,可以联系我免费提供!

我们看看规范commit message之前大家都是怎么写的:

  • 修改了Bug
  • 提交代码
  • dev
  • 合并代码
  • Delete compiler.xml 以及调整部分注释

规范提交信息后:

如下的提交记录中的scope是按照产品的实际情况调整的,与通用规范存在一些区分:

  • fix(菜单): #7201, 子级菜单展开的样式问题。
  • fix(权限管理): #6312,调整权限管理中所有权限顺序按时间降序排序。
  • perf(权限管理): 优化权限管理中的缓存数据,只获取配置数据的关键信息,而不是所有信息。
  • feature(国际化): 增加国际化功能

规范建设

规范梳理

初期我们在互联网上搜索了大量有关git commit规范的资料,但只有Angular规范是目前使用最广的写法,比较合理和系统化,并且有配套的工具(IDEA就有插件支持这种写法)。最后综合阿里巴巴高德地图相关部门已有的规范总结出了一套git commit规范。

commit message格式:

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

type(必须)

用于说明git commit的类别,只允许使用下面的标识。

  • feat:新功能(feature)。
  • fix/to:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG。
    • fix:产生diff并自动修复此问题。适合于一次提交直接修复问题
    • to:只产生diff不自动修复此问题。适合于多次提交。最终修复问题提交时使用fix
  • docs:文档(documentation)。
  • style:格式(不影响代码运行的变动)。
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)。
  • perf:优化相关,比如提升性能、体验。
  • test:增加测试。
  • chore:构建过程或辅助工具的变动。
  • revert:回滚到上一个版本。
  • merge:代码合并。
  • sync:同步主线或分支的Bug。

scope(可选)

这里是否必须,以及范围是什么内容,可以看实际公司的情况。

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

例如在Angular,可以是location,browser,compile,compile,rootScope, ngHref,ngClick,ngView等。如果你的修改影响了不止一个scope,你可以使用*代替。

subject(必须)

subject是commit目的的简短描述,不超过50个字符。

建议使用中文(感觉中国人用中文描述问题能更清楚一些)。

  • 结尾不加句号或其他标点符号。
  • 根据以上规范git commit message将是如下的格式:
fix(DAO):用户查询缺少username属性 
feat(Controller):用户查询接口开发

以上就是我们梳理的git commit规范,那么我们这样规范git commit到底有哪些好处呢?

  • 便于程序员对提交历史进行追溯,了解发生了什么情况。
  • 一旦约束了commit message,意味着我们将慎重的进行每一次提交,不能再一股脑的把各种各样的改动都放在一个git commit里面,这样一来整个代码改动的历史也将更加清晰。
  • 格式化的commit message才可以用于自动化输出Change log。

插件

IDEA插件 - Git Commit Template

安装

1、打开 settings 下的 plugin 里搜索 git commit template 插件:

在这里插入图片描述
2、安装完后重启IDEA就可以使用了。

使用

安装后,可以在提交时看到如下图标:

在这里插入图片描述

选择需要的提交类型,可参考章节 规范建设

在这里插入图片描述

填写完成后的样例:

在这里插入图片描述

效果:

在这里插入图片描述

VS Code - git-commit-plugin

安装

1、打开 preferences 下的 extensions 里搜索 git commit 插件:

在这里插入图片描述

2、点击 Install 后就可以使用了。

使用

1、快捷键找到:Command + Shift + P打开,输入 show git commit template

在这里插入图片描述

2、选择提交的类型

在这里插入图片描述

3、按照内容进行填写后,点击 Complete

在这里插入图片描述

4、案例

在这里插入图片描述
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐