美文网首页
如何规范你的Git commit?

如何规范你的Git commit?

作者: 码农架构 | 来源:发表于2021-04-23 20:54 被阅读0次

    背景

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

    规范介绍

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

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

    image

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

    规范目标

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

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

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

    格式要求

    <type>(<scope>): <subject>
      <BLANK LINE>
          <body>
      <BLANK LINE>
    <footer>
    
    • 消息只占用一行,任何行都不能超过 100 个字符

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

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

    <type>

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

    image

    <scope>

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

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

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

    <subject>

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

    规范建设

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

    commit message格式

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

    总结

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

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

    相关文章

      网友评论

          本文标题:如何规范你的Git commit?

          本文链接:https://www.haomeiwen.com/subject/pashrltx.html