Skip to content

Commit e87c805

Browse files
committed
Merge branch 'dev' into debug
2 parents ba85eb4 + 3e48e7e commit e87c805

35 files changed

Lines changed: 769 additions & 473 deletions

.github/git-commit-instructions.md

Lines changed: 146 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,178 @@
1-
# Git 提交信息生成指南
1+
# Git 提交信息(AI 生成)规范
22

3-
## 基本要求
3+
> 本说明用于约束 **AI 自动生成 Git 提交信息** 的格式和内容。 注意:**输出只能是提交信息本身,不要解释,不要包裹代码块。**
44
5-
- 使用简洁明了的中文生成 commit message
6-
- 每行不超过 50 个字符,保证在各种 Git 工具中良好显示
7-
- 使用动词开头,描述本次提交**做了什么**而不是**做什么**
5+
---
86

9-
## 提交类型分类
7+
## 1. 总体要求
108

11-
按照以下类型对提交内容进行分类,使用标准格式:`<类型>: <描述>`
9+
1. 使用 **简洁明了的中文** 描述提交内容。
10+
2. 使用 **动词开头**,描述本次提交「做了什么」。
11+
3. 每一行不超过 **50 个汉字/字符**,尽量控制在 20–30 字内。
12+
4. 关注业务价值和用户影响,而不是具体实现细节。
13+
5. 输入可能是 diff、变更列表或自然语言描述,输出始终是 **规范化的提交信息行**
1214

13-
**重要**:类型标签必须用尖括号包围,例如 `<feat>:``<fix>:``<update>:` 等。
15+
---
1416

15-
### 优先级排序(高到低
17+
## 2. 输出格式(必须遵守
1618

17-
1. **fix**: 修复 bug 或问题
18-
2. **feat**: 新增功能或特性
19-
3. **refactor**: 重构代码(不改变功能)
20-
4. **update**: 更新依赖、配置或现有功能
21-
5. **docs**: 文档相关修改
22-
6. **style**: 代码格式、样式调整
23-
7. **test**: 测试相关修改
24-
8. **chore**: 构建工具、辅助工具等修改
19+
### 2.1 统一格式
2520

26-
## 格式规范
21+
无论是「单一类型」还是「多类型」提交,**输出格式完全一致**
2722

28-
### 单一类型提交
23+
- 每一行代表一种类型的总结
24+
- 每一行的格式必须为:
2925

26+
```text
27+
<类型>: 简要描述
3028
```
31-
<类型> <简洁描述>
32-
```
3329

34-
### 多类型提交
30+
- **不要** 输出总标题或概括性第一行
31+
- **不要** 输出空行
32+
- **不要** 添加解释性文字、前后说明或代码块
33+
- **不要** 在类型前后省略尖括号或冒号
34+
35+
### 2.2 单一类型提交
3536

36-
当一次提交包含多种类型的修改时,使用以下格式
37+
- 只有一种主要修改类型时,只输出 **一行**
3738

39+
```text
40+
<feat>: 添加用户认证功能
3841
```
39-
高度概括的标题
4042

41-
<类型1> <修改描述1>
42-
<类型2> <修改描述2>
43-
<类型3> <修改描述3>
43+
### 2.3 多类型提交
44+
45+
- 同一次提交包含多种类型修改时:
46+
- 每种类型一行
47+
- 按类型优先级从高到低排序(见下一节)
48+
- 所有行都是:`<类型>: 描述`
49+
- 不要添加额外标题或空行
50+
51+
示例:
52+
53+
```text
54+
<fix>: 修复订单支付金额计算错误
55+
<update>: 调整优惠券校验逻辑
56+
<docs>: 补充支付流程说明文档
4457
```
4558

46-
**格式要求**
59+
---
60+
61+
## 3. 类型与优先级
62+
63+
按优先级从高到低排序(用于多类型时的行顺序):
64+
65+
1. `fix` —— 修复 bug 或问题
66+
2. `feat` —— 新增功能或特性
67+
3. `refactor` —— 重构代码但不改变对外行为
68+
4. `update` —— 更新依赖、配置或现有功能行为
69+
5. `docs` —— 文档相关修改
70+
6. `style` —— 代码格式、样式调整(无逻辑变化)
71+
7. `test` —— 测试相关调整或新增
72+
8. `chore` —— 构建、脚本、工具链等辅助改动
73+
74+
> **重要:** 类型标签必须用 **尖括号包裹**,并且后面紧跟冒号。
75+
>
76+
> 例如:`<fix>:``<feat>:``<update>:`
77+
78+
---
79+
80+
## 4. 写作规则
81+
82+
1. **动词开头**
83+
84+
-`修复``优化``添加``调整``更新``补充`
85+
- ❌ 避免名词开头的模糊表达,如 `登录问题``代码调整`
86+
87+
2. **现在时 + 主动语态**
88+
89+
-`修复登录页面响应异常`
90+
-`已修复登录页面响应异常`
91+
-`将修复登录页面响应异常`
92+
93+
3. **避免技术细节和文件名堆砌**
4794

48-
- 第一行:简洁的总体标题,概括本次提交的主要目的
49-
- 空一行
50-
- 后续行:每行都以尖括号包围的类型标签开头,按优先级从高到低排列
51-
- 类型标签必须用尖括号包围,例如 `<feat>``<fix>``<update>`
95+
- 不要罗列具体文件名、类名、函数名
96+
- 如必须提到技术词汇,保持简短且与业务直接相关
5297

53-
## 注意事项
98+
4. **关注业务和用户影响**
5499

55-
- ❌ 不要罗列具体文件名
56-
- ❌ 不要使用过于技术化的术语
57-
- ✅ 专注于修改的**业务价值****用户影响**
58-
- ✅ 使用主动语态和现在时态
59-
- ✅ 多类型提交时,总体标题应该高度概括整次提交的核心目标
60-
- ✅ 详细描述部分用尖括号标签分类说明具体修改内容
100+
-`修复支付失败导致订单状态异常`
101+
-`优化列表加载,提升页面响应速度`
102+
-`重命名 user_helper.ts 和 order_util.ts`
61103

62-
## 示例
104+
5. **多类型时的归类原则**
63105

64-
**好的提交信息:**
106+
- 优先判断是否存在 bug 修复,若有则必须包含 `<fix>`
107+
- 新增对外可感知功能使用 `<feat>`
108+
- 不改变行为但整理结构时用 `<refactor>`
109+
- 修改配置、依赖或已有功能行为偏「调整」用 `<update>`
110+
- 仅文档改动用 `<docs>`
111+
- 仅格式、空格、缩进等无逻辑变化用 `<style>`
112+
- 仅测试相关用 `<test>`
113+
- 构建脚本、CI、工具等用 `<chore>`
65114

66-
单一类型
115+
6. **输出语言**
67116

68-
- `<feat> 添加用户认证功能`
69-
- `<fix> 修复登录页面响应异常`
70-
- `<refactor> 优化数据库查询性能`
117+
- 无论输入语言是什么,输出一律使用 **中文**
71118

72-
多类型:
119+
---
73120

121+
## 5. 示例
122+
123+
### 5.1 单一类型示例
124+
125+
```text
126+
<feat>: 添加用户注册邮箱验证
127+
<fix>: 修复登录态过期后无法自动跳转
128+
<refactor>: 优化订单聚合服务结构
129+
<update>: 更新支付网关超时时间配置
130+
<docs>: 补充部署环境变量说明
131+
<style>: 统一表单组件代码格式
132+
<test>: 增加支付流程回归测试用例
133+
<chore>: 调整打包脚本提升构建速度
134+
```
135+
136+
### 5.2 多类型示例
137+
138+
示例一:
139+
140+
```text
141+
<fix>: 修复优惠券折扣计算不正确
142+
<update>: 调整订单结算税费规则
143+
<docs>: 更新优惠使用说明文档
144+
```
145+
146+
示例二:
147+
148+
```text
149+
<feat>: 添加用户导出报表功能
150+
<refactor>: 拆分报表生成模块结构
151+
<test>: 增加报表导出边界用例
74152
```
75-
完善Redis部署和访问配置
76153

77-
<feat> 添加Redis外部访问功能
78-
<update> 修改Redis服务类型为NodePort
79-
<docs> 添加Redis连接指南和网络分析文档
154+
示例三:
155+
156+
```text
157+
<update>: 升级数据库驱动版本
158+
<chore>: 调整CI脚本以兼容新驱动
80159
```
81160

82-
**不好的提交信息:**
161+
---
162+
163+
## 6. 生成策略建议(面向 AI)
164+
165+
1. 先从输入内容中识别所有涉及的类型:bug 修复、新功能、重构、配置更新、文档、样式、测试、构建脚本等。
166+
2. 为每个实际涉及的类型生成一句总结,遵循:
167+
168+
- 动词开头
169+
- 业务导向
170+
- 不超过 50 字
171+
172+
3. 将这些类型按优先级排序后输出为多行:
173+
174+
- 排序顺序:`fix > feat > refactor > update > docs > style > test > chore`
175+
176+
4. 若只识别出一种类型,只输出一行。
177+
5. 严格使用格式:`<类型>: 描述`,不添加任何其他文本、标题、空行或代码块。
83178

84-
- `更新了 auth.js 和 login.vue`
85-
- `修改`
86-
- `完成开发任务`
87-
- `feat: 主要功能` (没有使用尖括号包围类型标签)
88-
- 缺少总体标题的多类型提交

0 commit comments

Comments
 (0)