Files
2026-06-11 03:33:14 +08:00

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

用于关联 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分钟"
git commit -m "feat(api): 重构用户接口

BREAKING CHANGE: 用户查询接口路径变更
旧路径: /api/user/list
新路径: /api/system/user/list

Closes #789"