如何规范你的Git commit?

时间:2021-7-3 作者:qvyue

背景

Git每次提交代码都需要写commit message,否则就不允许提交。一般来说,commit message应该清晰明了,说明本次提交的目的,具体做了什么操作……但是在日常开发中,大家的commit message千奇百怪,中英文混合使用、fix bug等各种笼统的message司空见怪,这就导致后续代码维护成本特别大,有时自己都不知道自己的fix bug修改的是什么问题。基于以上这些问题,我们希望通过某种方式来监控用户的git commit message,让规范更好的服务于质量,提高大家的研发效率。

规范介绍

首先我们可以看下AngularJS 的规范,它是由 Google 推出的一套提交消息规范标准,也是目前使用范围最广的规范。有一套合理的手册也较为系统化;并且还有配套的工具可以供我们使用。

说白了,规范就是用工具进行强约束。规范执行方案如下:

如何规范你的Git commit?
image

既然有了方案,就会按照某些规则执行,以下是 Google AnguarJS 规范的要求:

规范目标

  • 允许通过脚本生成 CHANGELOG.md

  • 可以通过范围的关键词,快速的搜索到指定版本

git log HEAD --grep feat(package.json) # 在package.json文件里新增的特性。

格式要求

(): 
  • 消息只占用一行,任何行都不能超过 100 个字符

  • 允许使用 GitHub 以及各种 Git 工具阅读消息

  • 提交消息由页眉、正文和页脚组成,由空行分隔

代表某次提交的类型,比如是修复一个 bug 或是增加一个 feature,类型如下:

如何规范你的Git commit?
image

范围可以是指定提交更改位置的任何内容,如:

  • 对 package.json 文件新增依赖库,chore(package.json): 新增依赖库

  • 或对代码进行重构,refacto(weChat.vue): 重构微信进件

如果没有更合适的范围,可以直接写提交内容

规范建设

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

commit message格式

(): 
如何规范你的Git commit?
image

总结

编码规范、流程规范在软件开发过程中是至关重要的,它可以使我们在开发过程中少走很多弯路。Git commit规范也是如此,确实也是很有必要的,几乎不花费额外精力和时间,但在之后查找问题的效率却很高。作为一名程序员,我们更应注重代码和流程的规范性,永远不要在质量上将就。

首发地址:如何规范你的Git commit?

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。