Commit 也有规范

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

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


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

查看所有标签

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

雷军传

雷军传

陈润 / 华中科技大学出版社 / 2013-10-1 / 35

讲述雷军20年中从打工者到职业经理人,再到投资家、创业家的职场历程。 这种经历国内绝无仅有,国内有媒体将其比作乔布斯,事实上他比“乔帮主”更精彩,乔是被董事会赶出苹果,而雷从未失败过。 本书以雷军的职场经历和金山、小米的发展历程和雷军投资故事为主线,以时间为脉络,将其20 年商海沉浮的经历完美展现。 通过故事总结和阐释,讲透用人、管理、营销、战略、投资等全方位的经管知识,从雷军身......一起来看看 《雷军传》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具