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. 配置本地提交模板
|
使用方法
1. 在开发机的终端里面复制以上命令并执行,会在~/.githooks/commit_template中创建模板内容
2. Commit 时候直接使用 git commit 后直接按回车命令调用 commit 模板,需要填写在 N/A 行的地方,如对应的N/A行不需要填写则删除此行