blob: 7bb06dab86df65e3b6d8946052c60be69cd225e6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# Commit Message 详细规范
## Conventional Commits 格式
采用 **Conventional Commits** 规范,提交消息格式如下:
```
<type>(<scope>): <subject>
<body>
<footer>
```
## 字段说明
| 字段 | 必填 | 说明 |
| :------ | :--- | :------- |
| type | ✅ | 提交类型 |
| scope | ❌ | 影响范围 |
| subject | ✅ | 简短描述 |
| body | ❌ | 详细描述 |
| footer | ❌ | 脚注信息 |
## Type 类型
| 类型 | 说明 | 示例 |
| :--------- | :------- | :---------------------------------- |
| `feat` | 新功能 | `feat(user): 新增用户导出功能` |
| `fix` | 修复Bug | `fix(login): 修复验证码不刷新问题` |
| `docs` | 文档更新 | `docs(api): 更新接口文档` |
| `style` | 代码格式 | `style: 调整代码缩进` |
| `refactor` | 重构 | `refactor(utils): 重构日期工具函数` |
| `perf` | 性能优化 | `perf(list): 优化列表渲染性能` |
| `test` | 测试相关 | `test(user): 添加用户模块单元测试` |
| `build` | 构建相关 | `build: 升级 vite 到 5.0` |
| `ci` | CI配置 | `ci: 添加 GitHub Actions` |
| `chore` | 其他修改 | `chore: 更新依赖版本` |
| `revert` | 回滚提交 | `revert: 回滚 feat(user)` |
## Scope 范围
Scope 用于说明提交影响的范围,常用的 scope 包括:
- `data` - 数据处理
- `utils` - 工具函数
- `model` - 模型架构
- `config` - 参数配置
- `trainer` - 训练
- `evaluator` - 测评
- `workflow` - 工作流
## Subject 规范
- 使用动词开头:添加、修复、更新、移除、优化
- 不超过50个字符
- 不以句号结尾
- 使用中文或英文,保持一致
### 正确与错误示例
```
# ✅ 正确示例
feat(user): 添加用户导出功能
fix(login): 修复验证码不刷新问题
# ❌ 错误示例
feat(user): 添加用户导出功能。 # 不要句号
feat(user): 用户导出 # 要用动词开头
feat: 添加了一个新的用户导出功能 # 太长
```
## Body 详细描述
当改动较大或需要说明原因时,使用 Body 提供详细描述:
```
feat(user): 添加用户批量导入功能
- 支持 Excel 文件导入
- 支持数据校验和错误提示
- 支持导入进度显示
相关需求: #123
```
## Footer 脚注
用于关联 Issue 或说明破坏性变更:
```
# 关联 Issue
Closes #123, #456
# 破坏性变更
BREAKING CHANGE: 用户接口返回格式变更
旧格式: { data: user }
新格式: { code: 200, data: user, msg: 'success' }
```
## 完整示例
### 简单提交
```bash
git commit -m "feat(user): 添加用户导出功能"
```
### 带 Body 的提交
```bash
git commit -m "fix(login): 修复验证码不刷新问题
原因: 缓存时间设置过长导致验证码一直显示同一张图片
方案: 将缓存时间从5分钟调整为1分钟"
```
### 带 Footer 的提交
```bash
git commit -m "feat(api): 重构用户接口
BREAKING CHANGE: 用户查询接口路径变更
旧路径: /api/user/list
新路径: /api/system/user/list
Closes #789"
```
|