Commit 也有规范

栏目: 编程语言 · AngularJS · 发布时间: 5年前

这篇不讲代码的规范,而是 Commit 的规范。什么?还有 Commit 的规范?

痛点

不知道大家有没有写过这样的提交? 这个提交的问题显而易见,不知道修复了什么问题,这个bug是否有对应的 Bug Id?也不知道这个 Bug 的修复,是否会造成重大的影响?

Commit 也有规范

错误示例

又比如下面另一个情形,比如同一个版本上面,进行了重构。但每个人在提交 Commit 的时候,规范不一样。有人分别叫 Refactor , 重构 , Change 。这种情况下,就不太方便统计这个版本进行了重构。

规范

前面的痛点,关键问题在于没有规范。没有规矩,不成方圆。其实 Git Commit 是可以有固定规范的,通过这些有固定规范的 commit,解析这些固定格式,就能知晓这些提交做了什么事情,甚至可以分类查看。

现在沿用得较多的是 Angular.js 项目所使用的规范。

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>

Type

是表明 commit 的作用,主要用于分类。

Commit 也有规范

type类型

Scope

用于说明 commit 影响的范围,比如 Performance , View 等等。
AngularJs 使用的一些 Scope 如下, **bazel** , **compiler** , **core** 。 Scope 的定义结合具体的业务来执行就好。

Subject

是用于显示的简要说明。例如bug的描述、性能的优化等等。

Body

对上面subject里内容的展开,在此做更加详尽的描述,内容里应该包含修改动机和修改前后的对比。

Footer

脚手架

我相信这么普遍的问题,一定有很多脚手架出现。果不其然,我找到了不少脚手架,大家可以根据自己的需要来选择。

Git Commit Template

Idea 有口福了,啊,呸!是福气哈。直接有这个插件,提交的时候使用这个插件即可。

Commitizen

Commitizen 是一个命令行用于生成标准的 commit 命令行工具。

GitHub - commitizen/cz-cli: The commitizen command line utility.

Standard-Version

基于规范化的提交过后,还能做不少其他事情。

  1. Bump: 升机版本号。
  2. Changelog:生成 change log。
  3. Commit:提交代码入库。
  4. Tag:打上相应标签。

Standard-Version 一键帮我们完成这些任务,这个 工具 目前我在使用中,感觉还可以。贴出 AngularJs 的 ChangeLog,让我们瞻仰下。

Commit 也有规范

Augular ChangeLog

为了防止世界被破坏!为了守护世界的和平!贯彻爱与真实的邪恶!冲鸭!

文档信息

Last updated:

Commit 也有规范


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Mastering Regular Expressions, Second Edition

Mastering Regular Expressions, Second Edition

Jeffrey E F Friedl / O'Reilly Media / 2002-07-15 / USD 39.95

Regular expressions are an extremely powerful tool for manipulating text and data. They have spread like wildfire in recent years, now offered as standard features in Perl, Java, VB.NET and C# (and an......一起来看看 《Mastering Regular Expressions, Second Edition》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具