用途:在 Nuxt 开发流程中安全、规范地完成 Git 提交,尤其适用于 git worktree 场景下的收尾合并。
主要能力:
- 敏感文件防护:暂存前扫描 git status,识别 .env*、.pem、.key、.p12、.pfx、.tfstate、.tfvars、credentials.json、serviceAccountKey.json、secret 等模式。命中后把缺失模式追加进 .gitignore 并暂存;若文件已被跟踪则警告并建议 git rm --cached <file>,绝不对敏感文件执行提交。
- 智能提交流程:依次执行 git status、git diff、git diff --cached、git log --oneline -5;用 git add -u 仅暂存已跟踪的修改与删除,未跟踪文件需先检查再按文件名添加。
- 多关注点拆分:按目录或功能区域对变更文件分组,若涉及无关关注点(如同时包含缺陷修复与新功能)则自动拆成多个提交。
- 生成提交信息:推断类型(feat、fix、chore、docs、refactor、test、style)与范围,主题行使用祈使语气且不超过 72 字符,正文可选,说明“为什么”而非“做了什么”。
- 通过 heredoc 提交:git commit -m "$(cat <<'EOF' ... EOF)",并可加入 Co-Authored-By 行。
- pre-commit 钩子失败处理:修复问题后重新暂存并新建提交,禁止使用 --no-verify,禁止 amend。
Worktree 流程:先按上述流程提交全部变更,切换到主工作目录的 main,执行 git merge --squash <worktree-branch>,用一条规范信息提交压缩结果,然后用 git log --oneline -5 && git status 验证,最后 git worktree remove .claude/worktrees/<name>。
限制与规则:需先运行敏感文件防护;不得提交敏感文件;不得 amend 已发布提交,应新建提交;禁止强推 main;禁止 --no-verify 与 --no-gpg-sign;优先指定文件名而非 git add -A;合并前必须先提交,始终合并进 main,未确认合并前不得删除分支,使用 --squash 保持线性历史。