Git代码提交规范

2,264

一、代码提交规范化的目的

  • 为了部门提交代码信息格式规范化
  • 为了更好的追溯代码、筛选
  • 为了更加快速的定位提交代码所涉及的范围和实现功能
  • 为了后续代码的Review、自动生成ChangeLog

二、代码提交信息规范模板

本模板修改自《Angular代码提交规范》,分为Header、Body两大块内容,去除Footer,这一部分我们并不常用

[Bug修复](4.27.10):http://jira.xyz.cn/browse/XYZDEV-9043

原因分析:需求内容不完整或错误

Header

1、提交类型
  • 【新增功能】-【新的功能点、新的需求】
  • 【Bug修复】-【修复的Bug:现网发散Bug、测试阶段的Bug、验收阶段的Bug】
  • 【文档修改】-【只是修改了文档:注释、README.md等】.
  • 【样式修改】-【不影响代码功能的修改:CSS样式、代码格式化等】
  • 【代码重构】-【代码更改既不修复错误也不添加功能】
  • 【性能优化】-【代码更改可以提高性能】
  • 【测试代码】-【添加缺失测试或更正现有测试】
  • 【编译代码】-【影响构建系统或外部依赖项的更改:build.gradle、package.json、Podfile等】
  • 【持续集成】-【我们的CI配置文件和脚本的更改:Jenkinsfile等】
  • 【回退更改】-【代码回退提交更改】
  • 【其他提交】-【除以上所有类型之外的提交更改】
2、涉及范围

这里我们以版本号划分范围,此次提交代码所涉及到的发布版本。如果涉及多个版本则以4.14.10~4.27.10表示

3、简要描述

(1)如果提交类型是【Bug修复】,则简要描述直接填写Bug的JIRA或者Sentry链接 (2)如果提交类型是【新增功能】,则简要描述填写对应需求的JIRA链接或需求的详细描述,如需求过于庞大,则应拆分成小的功能点提交代码,便于Review人员审核,也有利于Bug的回溯。 (3)如果提交类型是其他类型,则简要描述根据你的理解,尽量用简短的文字描述出此次代码提交的目的

Body

1、详细描述

这边的详细描述,力争语句表达清晰此次提交的代码具体涉及的功能点、修改、原因分析等,如功能点很多则应使用序号列出代码所涉及的功能点。如下所示

1、安心管选择对象页修改
2、家庭成员、车辆、房屋的列表、编辑、新增页修改
3、安心管关系对象重定义

三、IDEA 插件集成

为了规范成员的提交代码信息,我新写了一个IDEA插件来帮助快速生成代码提交信息模板。

TM20190417113549.png

TM20190417113624.png

IDEA插件集成

目前已经提交IDEA插件市场,搜索Commit-Message-Create或者使用下面提供的Jar包,自行百度集成。

TM20190422162653.png

链接:pan.baidu.com/s/1fpBMfbvy… 提取码:82t1