--- name: commit description: Use when the user invokes /commit or asks to commit changes, after a code review has been completed and the changes are confirmed ready to stage and commit to git. --- # commit — Stage & Commit ## Overview 在 Code Review 通过后,将有效的代码变更暂存并提交到本地 Git 仓库。 ## 前置条件检查 1. 确认本次对话中已执行过 `/cr`(Code Review) 2. 若 Review 报告存在 **Critical** 问题,**停止执行**,提示用户先修复 3. 若未执行过 `/cr`,先调用 `cr` skill 完成 Review,再继续 ## 执行步骤 ### 1. 确认变更范围 ```bash git status git diff --stat git diff --cached --stat ``` ### 2. 精确暂存文件 **不使用 `git add -A` 或 `git add .`**,逐文件或逐目录添加: ```bash git add <具体文件或目录> ``` 排除规则: - `.env`、包含敏感信息的文件 → 不暂存,提示用户确认 - 与本次功能无关的临时文件 → 不暂存 ### 3. 起草提交信息 参考以下格式(优先遵循仓库现有风格,通过 `git log --oneline -10` 判断): ``` : <简明描述>(50 字符以内) <可选正文:说明 why,不是 what> ``` 常用 `type`:`feat` / `fix` / `docs` / `refactor` / `test` / `chore` **禁止**在提交信息中添加任何 AI 工具相关的署名,例如 `Co-Authored-By: Claude` 或类似内容。 ### 4. 执行提交 ```bash git commit -m "$(cat <<'EOF' <提交信息> EOF )" ``` ### 5. 确认结果 ```bash git log --oneline -3 # 确认提交已记录 git status # 确认工作区干净 ``` 输出提交的 hash 与摘要,告知用户提交成功。 ## 常见错误 | 问题 | 处理 | |------|------| | pre-commit hook 失败 | 修复 hook 报告的问题,重新 `git add` 后创建**新** commit,不使用 `--amend` | | 暂存了不该提交的文件 | `git restore --staged ` 取消暂存,重新操作 | | 工作区已无变更 | 告知用户没有可提交的内容 |