Commit 也有规范

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

这篇不讲代码的规范,而是 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 也有规范


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

查看所有标签

猜你喜欢:

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

区块链革命

区块链革命

[加]唐塔普斯科特(Don Tapscott)、[加]亚力克斯·塔普斯科特(Alex Tapscott) / 中信出版集团股份有限公司 / 2016-9 / 69

(1)国际大腕“数字经济之父”继畅销书《维基经济学》之后再出力作! (2)一本真正全景式描述区块链理论及应用的巨著! (3)苹果共同创始人史蒂夫·沃兹尼亚克、世界经济论坛创始人和论坛主席克劳斯·施瓦布、网景及硅谷安德森·霍洛维茨风险投资公司创始人马克·安德森、麦肯锡董事长兼全球总裁鲍达民、 百事公司首席执行官卢英德、丹·舒尔曼 Paypal公司首席执行官等全球政治界、学术界和商界精英联......一起来看看 《区块链革命》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具