本规范用于统一团队 Git 提交信息格式,提升提交历史的可读性,并支持自动化生成更新日志(Changelog)。当前规则重点从提交记录中提取 feat 与 fix 两种类型作为对外发布版本的变更说明,其它类型用于内部开发管理。
<type>(<scope>): <subject>
| 字段 | 是否必填 | 说明 |
|---|---|---|
| type | 是 | 提交类型,用于分类和生成日志 |
| scope | 否(强烈建议) | 影响的模块、子系统或功能域 |
| subject | 是 | 简要说明本次提交的目的和内容 |
feat(render): 支持多视口渲染
fix(io): 修复大文件读取时的崩溃问题
chore(ci): 调整流水线缓存策略
以下两种类型会被自动提取到更新日志中,属于对外可感知变更:
适用场景:
示例:
feat(export): 新增 STL 批量导出功能
适用场景:
示例:
fix(memory): 修复对象析构顺序导致的内存泄漏
以下类型不会被提取到更新日志,主要用于研发过程管理:
| type | 含义 | 示例 |
|---|---|---|
| chore | 构建、脚本、依赖调整 | chore(cmake): 调整编译选项 |
| refactor | 代码重构(无功能变化) | refactor(core): 重构事件系统 |
| docs | 文档变更 | docs(readme): 更新编译说明 |
| test | 测试相关 | test(io): 增加异常路径测试 |
| style | 格式、空格、命名调整 | style(ui): 统一命名规范 |
| perf | 性能优化(无行为变化) | perf(mesh): 优化简化算法性能 |
| build | 构建系统变更 | build(vcpkg): 升级依赖版本 |
| ci | CI/CD 相关 | ci(github): 增加自动发布任务 |
⚠️ 注意:
feat 或 fix示例:
arch / coord / gms / dfc / mep / common / inter / ...
feat(column): 柱子新增柱点绘制
fix(plot): 出图新增自动排图功能
✅ 推荐:
fix(plot): 修复出图标高标注标注获取错误的问题
❌ 不推荐:
fix(io): fix bug
fix: 修改了一下
✅ 推荐:
fix(plot): 修复由于hz_type为空导致图纸无法保存的问题
- 为 hz_type 添加默认值 '排房图' 以防止空值问题
- 确保页面信息处理逻辑的完整性
- 保持文档信息缓存状态的一致性
❌ 不推荐:
fix(plot): 修复hz_type字段空值bug
feat 和 fix## v2.3.0
### ✨ Features
- feat(dfc): DFC启动器新增自动更新关闭功能
- feat(arch): 墙体新增柱点绘制功能
### 🐛 Bug Fixes
- fix(dfc): 修复DFC启动容易崩溃的问题
- fix(plot): 修复出图标高标注标注获取错误的问题
feat 和 fix示例(正确):
refactor(DFC): 重构路径偏移算法
feat(DFC): DFC启动器新增自动更新关闭功能
feat / fix 使用错误将被要求重写提交(rebase)暂不启用Q:优化性能算不算 feat?
A:如果用户行为或能力发生变化 → feat,否则用 perf
Q:修复测试代码 Bug 用什么?
A:test,不要用 fix
Q:紧急修复线上问题?
A:仍然使用 fix,不要使用自定义类型
用户能感知的新能力用
feat,用户能感知的问题修复用fix,其它一律不用进入更新日志。