俗话说,无规矩不成方圆。

前端时间,阿里诚意献上重磅大礼:《阿里巴巴Java开发手册》,首次公开阿里官方Java代码规范标准。这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本。

那么问题来了,Git提交日志是否需要规范化呢?答案是肯定的。

此时,请允许我班门弄斧附图一张

一目了然,整齐划一,有木有?同时也更能快速定位节点做过什么操作。

提交日志基本格式

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

其中需要注意的是,首行部分是必需的,而 body 和 footer 部分可选。
<subject>, <body>, <footer>内容默认使用中文。

header部分

第一行不能超过70个字符,第二行总是空白,其他行应该包含80个字符。类型和范围应该总是小写,如下所示。

type 取值

  • feat(用户的新功能,而不是构建脚本的新功能)
  • fix(对用户的错误修复,而不是构建脚本的修复)
  • docs(对文档的更改)
  • style(代码格式化改动,缺少分号等)
  • refactor(重构代码,例如重命名变量)
  • test(新增或修改测试用例)
  • chore(更新咕噜任务等;没有生产代码的变化)

scope

这个取值可以是空,通常用于指明修改内容的范围。

subject

用于概括一次提交行为囊括的内容

  • 时态方面使用一般现在时,不要用过去时态。虽然查看 log 时,log 内容本身都发生在过去,然而对于主题来说,使用现在时的时态更简洁明确,并且更易达成一致性。
  • 句式使用祈使句式。即一般情况不要增加主语。因为在绝大情况下,主语都是作者「我」。
  • 句尾无需结束标点;如果使用英语,则句首同样无需大写。同样是因为主题(或称标题)本身不用形成完整的句子。

body部分

日志的内容主体 body 用来描述详细的提交内容,可写可不写。

footer 部分

日志的内容页脚 footer 用来描述一些补充信息,可写可不写。

例如修复了 GitHub 平台上某个 issue 或多个 issue:

Closes #120Closes #123, #245, #992

参考资料

AngularJS 代码贡献指南
Karma 的 Git 日志规约

Git提交日志格式规约相关推荐

  1. git commit message——git提交日志规范备忘

    使用git提交时,最好能注意保持规范,可能某些公司对这方面没有要求,但是提交日志不规范的话,不方便查阅和管理. 在此记录下commit的类别,备忘,更详细的介绍,可以查看文末链接. commit me ...

  2. 【开发工具】【git】通过关键字搜索对应的git提交日志

    因为想查看某一个函数对应在源码中的修改记录,就想到了git log.试试看能不能搜索到相关信息. 想找到一个内核函数相关的git log修改记录,第一想法是"git log + grep&q ...

  3. 2019-11-20 git提交日志中附加的贡献者签名

    如果你喜欢,你可以在末尾添加额外的标签: 1."Reported-by:" 表示把发现当前补丁所尝试修复的bug的功劳归功于某个人. 2."Acked-by:" ...

  4. 【Git的学习笔记】老板让我用Git提交,但我还没学过Git

    Git 分布式版本控制工具 文章目录 Git 分布式版本控制工具 1.目标 2.概述 2.1.开发中的实际场景 2.2 版本控制的方式 2.3 SVN 2.4 Git 2.5 Git工作流程图 3. ...

  5. 2018 终了,是时候秀出我的 Git 进化日志了!

    作者 | 拭心 责编 | 郭芮 一眨眼已到 2018 年底,我入职喜马也一年多了,这一年里成长了不少,但对外输出少了很多,主要原因还是太懒.今天趁懒癌没发作,跟着 Git 提交日志,回顾一下这一年多写 ...

  6. 一个维护版本日志整洁的Git提交规范

    1 关于提交日志规范 良好的Commit Message有利于代码审查,能更快速查找变更记录,并且可以直接生成Change log. Commit Message的写法规范:conventional- ...

  7. 运维篇(二):git hooks之pre-receive脚本校验日志格式

    一般公司项目都有固定的日志格式,一来方便回溯问题,二来美观,便于后续的一些任务触发等.鉴于公司的特殊的日志格式,利用gitlab默认的git hooks进行日志校验,日志格式不正确直接被拒绝提交. H ...

  8. 1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题

    1新建一个存储git的文件夹,命令是: toto@toto-K45VD:~$ mkdir gitfolder 2初始化一个git仓库,命令是: toto@toto-K45VD:~$cd gitfold ...

  9. Git提交的时候检查代码格式

    Git提交的时候检查代码格式 在git提交的时候检查代码格式需要用到git的hook功能,在.git/hook目录下面有一些git定义好的hook脚本,这里我们要在提交前执行检查,所以用pre-com ...

最新文章

  1. mysql insert 数据_MySQL-插入数据(INSERT)
  2. go 怎么遍历json数据_json数据怎么处理 好难 啊!
  3. zabbix简介(第一章第一节)
  4. 微信小程序入门一:点击事件
  5. android中读取properties文件
  6. Android应用程序的debug属性
  7. Scipy教程 - 距离计算库scipy.spatial.distance
  8. 如何优雅的使用全球最大同性社交网站
  9. 232接口针脚定义_VGA接口定义,详细图文资料
  10. cmd批处理命令~%dp0与~%dpn1的解析
  11. 在不确定的世界里,确定的当个程序员
  12. Linux解决Device eth0 does not seem to be present,delaying initialization问题
  13. php求圆的周长面积,圆的周长怎么算?面积公式
  14. Html+Css实现三栏布局响应式
  15. day2 编码与基本数据类型转换
  16. 抖音直播间千川投放有用吗?直播间投放分析有什么技巧
  17. Python绘图:turtle库基础语法介绍
  18. 【浅谈】我所理解的游戏场景设计:身临其境
  19. JAVA订餐系统的心得体会
  20. eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener解决方法

热门文章

  1. UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x80 in position 0: invalid start byte 错误解决
  2. Java根据子节点递归父节点
  3. css实现渐变斜体字
  4. 我裸辞去面试python岗位了
  5. MySql进阶,索引,B-Tree以及索引优化
  6. Bigemap如何添加离线地图
  7. JavaScript应用——实现页面简单的日间/夜间模式切换
  8. CPU占用100%原因及解决方法
  9. 【STM32】OV2640摄像头学习笔记 转
  10. 详解数据存储 网络数据传输 大端模式和小端模式