Git: 常用手册之-提交规范

513 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 1 天,点击查看活动详情

前言

规范的注释方便自己进行合并、撤消、回退。当代码有几十个分支,有成千上万条提交时,你随时可能面临着合并分支,回退代码,舍弃代码,对比代码,复制历史记录中有用的代码片段等等。如果仅靠千篇一律的注释,是很难从快速从注释中提取有用的信息,并且会遇到选择困难,不知道要合并哪个点,不知道要回退到哪里等。而传统的tag是用来记录大版本号,或发布时使用的。

目前,社区有多种 Commit message 的写法规范,但是更推荐下面的这种写法

当时我们团队在没有进行规范Git Commit注释之前是如此的杂乱无章

image.png

当遇到某一问题,或者定位某个问题节点的时候,锁定问题就变得复杂了,但是如果我们能够规范写出提交内容,那么我们只需全局搜索和时间锁定,可以很快锁定。 另外一个方面就是,团队开发代码,最忌讳的就是,表意不清;我们需要交换思想,那么如何做到,我们应该让彼此看得懂。那么规范显得尤为重要。

规范

提交的格式:type: message,注意中间使用 : 分割(后面带有一个空格),内容不超过 50 字。

type 用于指定提交的 commit 的类别,下面只允许以下几个动词原语。

  • add - 新增加的功能等描述。
  • fix - 修复某个 bug 的描述。
  • feat - 新增一个功能。
  • update - 在原有的基础上更新代码的描述。
  • change - 类似 update,唯一区别是 change 是重写了代码(带有颠覆性)。
  • docs - 更新/新增文档时的描述。
  • test - 增加/修改测试示例代码。
  • release - 发布新的版本时使用。
  • revert - 代码回退
  • merge - 在解决代码冲突,合并分支时使用。
  • chore - 构建过程或辅助工具的变动。
  • build - 变更项目构建和外部依赖
  • perf - 改善性能
  • create - 初次创建项目时使用。
  • remove - 移除文件、代码时使用。

type的作用是为了区分,并且能根据type做有效的commit logger 数据统计。

message 用于指定提交的描述文字,需要注意几个事项。

  • 使用中文表述。

  • 保证有明确的语义化说明。

  • 保证表述内容简短。

  • 以动词开头,比如:更新,增加,修复等。

正确的示例:

  • fix: 修复登录邮箱格式验证错误的问题。
  • update: 优化 Button 组件样式。
  • test: 添加搜索模块的单元测完。
  • release: 发布 v0.1.12 版本。
  • remove: 移除多余的 console.log 代码

错误的示例:

  • fix: 修复一个大 BUG。    
  • update: 更新代码。       // 表述不清楚。更新了什么代码,改变了什么功能?
  • 添加搜索模块的单元测完。             // 没有写 type。
  • add: 更新 API 文档用户信息接口说明。 // type 使用错误。

后面我们团队约定这样的一个规范,得到很好的成效。在维护代码和修改bug的时候;能够很快分析出问题在某个跌代出现;缩短了审查时间,提高了工作效率

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 1 天,点击查看活动详情