用途:按 Conventional Commits 规范生成标准化、语义化的 Git 提交。通过分析实际 diff 判断合适的类型、范围与提交信息。
主要能力:
- 提交信息格式:<type>[可选 scope]: <description>,可附可选 body 与 footer。
- 支持类型:feat(新功能)、fix(缺陷修复)、docs(仅文档)、style(格式化,不影响逻辑)、refactor(重构)、perf(性能)、test(测试)、build(构建/依赖)、ci(CI/配置)、chore(杂项维护)、revert(回退)。
- 破坏性变更:可用类型/范围后的感叹号(如 feat!: remove deprecated endpoint)或 BREAKING CHANGE footer 标注。
使用方式(工作流):
- 分析 diff:已暂存用 git diff --staged,否则用 git diff,并可用 git status --porcelain 查看状态。
- 按需暂存:git add path/to/file1 path/to/file2、git add .test.、git add src/components/*,或交互式 git add -p。
- 生成提交信息:依据 diff 判断类型、范围和描述,描述为一行、现在时、祈使语气、少于 72 字符。
- 执行提交:单行 git commit -m "<type>[scope]: <description>",多行使用 heredoc 方式写入 body/footer。
最佳实践:每次提交只包含一个逻辑变更;用现在时(add 而非 added);祈使语气(fix bug 而非 fixes bug);引用议题如 Closes #123、Refs #456;描述保持在 72 字符以内。
安全限制:绝不更新 git config;未经明确要求不运行破坏性命令(--force、hard reset);除非用户要求不跳过钩子(--no-verify);绝不强推 main/master;若因钩子导致提交失败,应修复后创建新提交,而非 amend。切勿提交密钥(.env、credentials.json、私钥)。具体模型、收费、价格等事实暂未提供。