Commit
生成符合 Conventional Commits 规范的提交信息。
默认格式
code
<type>[(<scope>)]: <emoji> <subject>
示例:
code
feat: 🎸 添加用户注册功能 fix(api): 🐛 修复查询参数解析错误 docs: ✏️ 更新 README 安装说明
Commit Type
根据更改内容选择:
- •feat 🎸: 新功能
- •fix 🐛: Bug 修复
- •docs ✏️: 文档更新
- •style 💄: 代码格式调整(不影响功能)
- •refactor 💡: 代码重构(不是新功能也不是修复)
- •perf ⚡️: 性能优化
- •test 💍: 添加或修改测试
- •chore 🤖: 构建过程或辅助工具的变更
- •ci 🎡: CI 配置变更
- •release 🏹: 创建发布提交
Scope(可选)
标识 commit 影响的范围,例如:api、auth、database、ui
如果 scope 不明显或涉及多个范围,可以省略。
Description(必填)
- •使用祈使句、现在时态:"添加"不是"添加了"
- •首字母小写
- •不要以句号结尾
- •限制在 50 个字符以内
Body(可选)
详细描述 what 和 why(不是 how):
- •每行限制在 72 个字符以内
- •使用中文
Footer(可选)
- •关联 issue:
Closes #123,Fixes #456 - •Breaking changes:
BREAKING CHANGE: API endpoint changed
工作流程
- •检测配置:查找项目配置文件(见下方)
- •分析变更:使用
git status和git diff查看更改 - •确定 type:根据变更性质选择合适的 type
- •确定 scope(可选):识别影响范围
- •编写 description:简洁描述做了什么
- •生成 message:组合成完整的 commit message
配置检测
自动检测项目配置以确定正确的格式和 emoji 位置。
检测优先级
按顺序查找以下配置文件:
- •
cz-git 配置:
- •
.commitlintrc.*/commitlint.config.* - •
.czrc/cz.config.* - •读取
useEmoji和types
- •
- •
git-cz 配置:
- •
changelog.config.js/.git-cz.json - •读取
disableEmoji和types
- •
- •
无配置:使用默认 git-cz 风格
格式差异
| 配置 | 格式 | 示例 |
|---|---|---|
| 无配置(默认) | type: emoji subject | feat: 🎸 新功能 |
| cz-git (useEmoji: true) | emoji type: subject | ✨ feat: 新功能 |
| cz-git (useEmoji: false) | type: subject | feat: 新功能 |
详细说明:references/config-detection.md
参考资源
- •完整规范:references/spec.md
- •更多示例:references/examples.md
- •格式变体:references/variants/