用途:把当前仓库中所有未暂存和未跟踪的改动,按逻辑关注点分组成多个原子提交,每个提交只对应一个变更原因,全部完成后执行推送。预加载上下文包括 git status、git diff HEAD 和 git log --oneline -10,用于审查改动和参考提交历史。
主要能力与流程:先审查完整 diff 与状态,识别逻辑分组,常见分组包括功能或缺陷修复(实现同一件事的 src 文件)、对应测试、配置变更(package.json、tsconfig、next.config 等)、纯格式化变更(prettier、eslint --fix 且无逻辑变化)、文档或 README 更新、资源变更(图片、字体、public 文件)。对每组操作:按文件名显式暂存,绝不使用 git add . 或 -A;参照 git log 中的仓库风格编写简洁、祈使语气的提交信息,说明“为什么”而非“是什么”;用 HEREDOC 格式提交;提交后运行 git status 确认暂存区干净,再进行下一组。全部提交完成后执行 git push,并再次用 git status 验证工作区干净。
分组规则:一提交一原因;纯格式化改动单独成提交,不与逻辑改动混合;不把无关关注点混入同一提交;同一文件同时含逻辑和格式化改动时,保留在逻辑提交中;测试与被测代码可同提交。
使用限制:禁止 git add . 和 git add -A;除明确要求外禁止 amend;禁止跳过钩子;禁止提交密钥。若存在意外未暂存的改动,需先与用户确认再推送。钩子失败时,应修复问题、重新暂存并创建新提交,不得 --amend;推送被拒(非快进)时运行 git pull --rebase 并重试一次;无法确定分组时先询问用户。