乐趣区

关于git:如何规范你的Git-commit

导读:commit message 应该如何写才更清晰明了?团队开发中有没有遇到过让人头疼的 git commit?本文分享在 git commit 标准建设上的实际,规定了 commit message 的格局,并通过 webhook 在提交时进行监控,防止不标准的代码提交。

背景

Git 每次提交代码都须要写 commit message,否则就不容许提交。一般来说,commit message 应该清晰明了,阐明本次提交的目标,具体做了什么操作……然而在日常开发中,大家的 commit message 千奇百怪,中英文混合应用、fix bug 等各种抽象的 message 司空怪罪,这就导致后续代码保护老本特地大,有时本人都不晓得本人的 fix bug 批改的是什么问题。基于以上这些问题,咱们心愿通过某种形式来监控用户的 git commit message,让标准更好的服务于品质,进步大家的研发效率。

标准介绍

首先咱们能够看下 AngularJS 的标准,它是由 Google 推出的一套提交音讯标准规范,也是目前应用范畴最广的标准。有一套正当的手册也较为系统化;并且还有配套的工具能够供咱们应用。

说白了,标准就是用工具进行强束缚。标准执行计划如下:

既然有了计划,就会依照某些规定执行,以下是 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,类型如下:

<scope>

范畴能够是指定提交更改地位的任何内容,如:

  • 对 package.json 文件新增依赖库,chore(package.json): 新增依赖库
  • 或对代码进行重构,refacto(weChat.vue): 重构微信进件

<subject>

如果没有更适合的范畴,能够间接写提交内容

标准建设

初期咱们在互联网上搜寻了大量无关 git commit 标准的材料,但只有 Angular 标准是目前应用最广的写法,比拟正当和系统化,并且有配套的工具(IDEA 就有插件反对这种写法)。最初综合阿里巴巴高德地图相干部门已有的标准总结出了一套 git commit 标准。

commit message 格局

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

总结

编码标准、流程标准在软件开发过程中是至关重要的,它能够使咱们在开发过程中少走很多弯路。Git commit 标准也是如此,的确也是很有必要的,简直不破费额定精力和工夫,但在之后查找问题的效率却很高。作为一名程序员,咱们更应重视代码和流程的规范性,永远不要在品质上将就。

退出移动版