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 也有规范


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

查看所有标签

猜你喜欢:

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

Effective Java 中文版

Effective Java 中文版

(美)Joshua Bloch / 潘爱民 / 机械工业出版社 / 2003-1 / 39.00元

本书介绍了在Java编程中57条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮的高效的代码。 本书中的每条规则都以简短、独立的小文章形式出现,这些小文章包含了详细而精确的建议,以及对语言中许多细微之处的深入分析,并通过例子代码加以进一步说明。贯穿全书的是通用......一起来看看 《Effective Java 中文版》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具