当前位置: 首页 > news >正文

git日志规范

1.  代码提交规范

<header>
<type>(<modules>): <subject>
<BLANK LINE>
<body>
Description:
Root Cause:
Solution:
<BLANK LINE>
<footer>
Product: 
Project:
Build:
Dependency:
Change-Id:

2. 代码提交规范详解

2.1 header 部分

header 部分主要是对本次代码提交的简要描述,必须写在日志的第一行

<type>(<modules>):<subject>

type:必填字段,且只能选择以下部分: 

。  feat: 新功能(feature)

。  fix: 修补缺陷 [后面需要写bug 号,如fix#3775,没有bug号可写CR号,如fix#ALPS09235083] 

。  docs:文档(documentation)

。  style: 格式(不影响代码运行的变动)

。  refactor:重构(即不是新增功能,也不是修改 bug 的代码变动) 

。  perf:性能优化

。  test:增加测试

。  chore:构建过程或辅助工具的变动

。  patch:合入非内部的提交 

。  comm: 注释

。  build: 构建 

modules:  用于说明  commit  影响的模块范围,有多个模块受影响用/隔开,此项会作为测试的依据,该模块可以填写多个如"Audio/BT"。

目前可选模块名如下:"A2B" "Audio" "BT" "Display" "DP-IN" "DP-OUT" "FAN" "MCU" "OTA" "PD" "PQ" "Thermal" "USB" "WIFI" "OS" "Power" "APP" "Modem" "TBOX" "DDR" "UFS" "EMMC" "Camera" "Sensor" "Security" "IPO" "SCP" "Autotest" "GStreamer" "Net" "Config" "GPS" )

模块名仅支持英文且单个模块名长度不超过 50 个字符,多模块以英文字符/分割,建议单词间使用驼峰命名法,如有新加的模块请联系杨彬彬添加

subject:  是  commit  目的的简短描述,不超过 100 个字符。

2.2 body 部分

body 部分主要是对本次代码提交的详细描述,分为以下三种类型: 

Description: 提交的详细描述,该选项选填,如不需要可删除此字段。

Root Cause:  针对修复的缺陷的根本原因描述,不需要可删除此字段。如果是 fix 缺陷,则这个必填 ,且值不能为为空或N/A。

Solution: 针对修复的缺陷的解决方案,不需要可删除此字段。如果是 fix 缺陷,则这个必填,且值不能为空或N/A。

2.3 footer 部分

footer 部分主要是扩展描述,分为以下三类:

Product: 产品名称,可以填写多个产品,用/分隔, 该选项必填,且值不能为空或N/A。

Project:  项目名称,即该代码可以适用于的项目,可以填写多个项目,用/分隔,该选项必填,且值不能为空或N/A 。

Build: 编译验证结果,该字段选填,如不需要可删除此字段,可以的选项如下:

。   mpass:模块编译验证成功

。   apass:全编验证成功 

。   upass:  单元测试通过 

。   ipass:  集成测试通过

。   test:  自测通过(功能自测通过) 

。   not:没有验证

Dependency: 依赖的编译选项,该项目选填,用于编译校验,如不需要可删除此字段。

Change-Id: 代码审查任务id, 用于相同问题多次提交时不会在产生新的审核记录,此id一般自动生成

3. 代码提交示例

3.1 新功能开发

feat(Display): 更新一些屏的GPIO配置

Description: 更新一些屏的GPIO配置

Product: p41
Project: NBOX
Build: upass
Change-Id: I66fd6eced558d3388da7fd1034f2b342d94cad4a

3.2 修复缺陷(有缺陷单号)

fix#3375(Vehicle): 打开氛围灯随音乐律动,在音乐播放时,调节氛围灯亮度和颜色后,车端的氛围灯无变化

Description: 音乐律动开关打开后置灰亮度和颜色
Root Cause: 音乐律动开关打开后置灰亮度和颜色
Solution: 打开氛围灯随音乐律动,在音乐播放时,调节氛围灯亮度和颜色后,车端的氛围灯无变化

Product: p41
Project: NBOX
Build: upass
Change-Id: Ia96b66fc7d0eb65ed496e7f30577047e767ce230

4. 配置本地提交模板

mkdir -p ~/.githooks 2>/dev/null

echo '#type选择类型:feat/fix/docs/style/refactor/perf/test/chore/patch/comm

#type(modules): subject

N/A

#type选fix 类型的,Root cause和Solution需要填写

#提交详细描述

Description: N/A

#根本原因描述

Root Cause: N/A

#解决方法

Solution: N/A

  

#产品名称

Product: N/A

#项目名

Project: N/A

#编译验证结果[mpass/apass/upass/ipass/test/not]

Build: N/A

#依赖的编译选项

Dependency: N/A

' >~/.githooks/commit_template

# 全局配置

git config --global commit.template "~/.githooks/commit_template"

使用方法

    1. 在开发机的终端里面复制以上命令并执行,会在~/.githooks/commit_template中创建模板内容

    2. Commit 时候直接使用 git commit 后直接按回车命令调用 commit 模板,需要填写在 N/A 行的地方,如对应的N/A行不需要填写则删除此行

相关文章:

  • FastAPI + Vue3 对 SSE 通知机制的实现与进阶思考
  • Python----概率论与统计(贝叶斯,朴素贝叶斯 )
  • 青少年编程与数学 02-016 Python数据结构与算法 05课题、哈希表
  • 如何在Linux系统Docker部署Dashy并远程访问内网服务界面
  • ROS云课三分钟-差动移动机器人巡逻报告如何撰写-中等报告
  • 使用pip3安装PyTorch与PyG,实现NVIDIA CUDA GPU加速
  • LeetCode Hot100 刷题笔记(1)—— 哈希、双指针、滑动窗口
  • <component>用于挂载切换几个不同的组件
  • mobaxterm连接ssh提示sshpass: command not found
  • vmware、centos: 快照、redis集群克隆、虚拟机克隆后无法上网
  • 最简rnn_lstm模型python源码
  • 京存双活磁盘阵列助力国家交通指挥中心
  • Excel流式多线程带进度条功能的导入框架
  • 当开源邂逅AI,公益长出翅膀 | 回顾3.30 上海「开源×AI 赋能公益」Meetup
  • 如何更改wsl2中的ubuntu默认安装位置
  • 前端Js,检查一个字符串中是否出现高重复率
  • 理解Commit:版本控制的核心概念
  • 模拟的DDoS攻击网络数据样例,包含正常流量与不同类型攻击的对比数据
  • 室分系统(室内分布系统)详解
  • Springboot把外部jar包打包进最终的jar包,并实现上传服务器
  • 做的网站打开显示无标题/外链发布工具下载
  • 类似于微博网站怎么做的/灯塔seo
  • 个人网站的制作步骤/成人本科报考官网
  • 网站302怎么做/灰色seo推广
  • 张店学校网站建设公司/好的产品怎么推广语言
  • asp网站开门/百度高级搜索功能