/commit
智能提交。完成功能并通过审查后使用。
智能提交
步骤
- 运行
git status和git diff --staged查看变更 - 如果没有 staged 文件,先
git add相关文件(不要用git add .) - 分析变更内容,生成 Conventional Commits 格式的 message:
type(scope): 描述- type: feat / fix / refactor / docs / test / chore
- scope: 取模块名
- 描述: 英文 50 字符以内,说明 why 而非 what
提交前检查
提交前确认以下全部通过:
npm run lint— 零警告npx tsc --noEmit— 零类型错误npm run test— 全部通过
任何一项不通过,不允许提交。
提交粒度:小步频繁提交
核心原则:按逻辑单元提交,每个 commit 是一个可理解的、自洽的变更单元。
适合立即 commit 的情况
- 完成了一个完整的功能点或修复了一个 bug
- 重构了一段代码且测试通过
- 改动有明确的独立意义(可以用一句话描述)
可以积累几轮再 commit 的情况
- 连续几轮对话都在迭代同一个功能(先写框架、再补细节、再调样式)
- 中间状态是"半成品",单独提交没有意义
- 探索性的修改,还没确定最终方案
判断标准
- commit message 能用一句话说清楚做了什么
- 不要把不相关的改动混在一个 commit 里
大变更处理
如果变更超过 10 个文件,建议拆分为多次提交,按逻辑单元分组。
IMPORTANT:
- 不要
git add .,逐个添加相关文件 - 不要提交 .env 或包含密钥的文件
- commit message 用英文
完整 Git 纪律规范详见 docs/design/18-Git工作流.md