分析代码变更,以合适的粒度创建符合 Conventional Commit 规范且带有 emoji 的提交。当用户想要提交代码、生成 commit message、或描述"帮我提交"类需求时触发。
分析代码变更,以合适的粒度创建符合规范(Conventional Commit)且带有 emoji 的提交。
⚠️ 所有 commit message(包括描述部分)必须使用中文书写。
运行 git status。如果没有任何变更,退出。
根据文件状态决定分析范围:
| 状态 | 操作 |
|---|---|
| 同时存在已暂存 + 未暂存 | 询问用户是否一起提交;同意则 git add .,否则只分析已暂存部分 |
| 只有未暂存变更 | 执行 git add .,分析所有变更 |
| 只有已暂存变更 | 直接分析已暂存变更 |
运行 git diff --cached 获取将要提交的完整 diff,理解变更意图。
参考下方"拆分准则",自主判断是否需要多个 commit:
按照"commit 格式规范"构造 message,执行 git commit -m "<message>"。
格式:<emoji> <type>: <中文描述>
| type | 含义 |
|---|---|
feat | 新功能 |
fix | Bug 修复 |
docs | 文档更改 |
style | 代码格式/样式(不影响逻辑) |
refactor | 重构(非 fix 非 feat) |
perf | 性能优化 |
test | 测试相关 |
chore | 构建、工具、依赖等杂项 |
ci | CI/CD 相关 |
| emoji | type | 场景 |
|---|---|---|
| ✨ | feat | 新功能 |
| 🐛 | fix | Bug 修复 |
| 🚑️ | fix | 关键修补程序 |
| 🔒️ | fix | 安全修复 |
| 🚨 | fix | 修复 linter/编译器警告 |
| 🩹 | fix | 非关键问题的简单修复 |
| 🔥 | fix | 删除代码或文件 |
| 📝 | docs | 文档 |
| 💡 | docs | 源码注释 |
| ♻️ | refactor | 代码重构 |
| ⚰️ | refactor | 删除死代码 |
| 🚚 | refactor | 移动或重命名资源 |
| 🏗️ | refactor | 架构调整 |
| ⚡️ | perf | 性能优化 |
| ✅ | test | 测试 |
| 📸 | test | 快照测试 |
| 🔧 | chore | 工具/配置 |
| ➕ | chore | 添加依赖 |
| ➖ | chore | 删除依赖 |
| 📦️ | chore | 更新编译文件或包 |
| 🙈 | chore | 更新 .gitignore |
| 🔖 | chore | 发布/版本标签 |
| 👷 | ci | CI 构建系统 |
| 🚀 | ci | CI/CD 改进 |
| 💚 | fix | 修复 CI 构建 |
| 💄 | style | 样式/格式 |
| 🎨 | style | 改善代码结构/格式 |
| 👔 | feat | 业务逻辑 |
| 🦺 | feat | 验证相关代码 |
| 🌐 | feat | 国际化/本地化 |
| 📱 | feat | 响应式设计 |
| 🚸 | feat | 用户体验/可用性 |
| 🏷️ | feat | 类型定义 |
| 💥 | feat | 引入重大变更 |
| 🗑️ | revert | 还原更改 |
满足以下任一条件时,应拆分为多个 commit:
单次提交:
✨ feat: 添加用户登录功能
🐛 fix: 修复金额精度计算错误
♻️ refactor: 简化错误处理逻辑
📝 docs: 更新 API 接口文档
拆分提交:
第 1 个:✨ feat: 添加新的合约版本类型定义
第 2 个:📝 docs: 更新对应版本的文档说明
第 3 个:🔧 chore: 升级相关依赖版本
第 4 个:✅ test: 为新版本功能添加单元测试