3.3 KiB
3.3 KiB
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' }
完整示例
简单提交
git commit -m "feat(user): 添加用户导出功能"
带 Body 的提交
git commit -m "fix(login): 修复验证码不刷新问题
原因: 缓存时间设置过长导致验证码一直显示同一张图片
方案: 将缓存时间从5分钟调整为1分钟"
带 Footer 的提交
git commit -m "feat(api): 重构用户接口
BREAKING CHANGE: 用户查询接口路径变更
旧路径: /api/user/list
新路径: /api/system/user/list
Closes #789"