| name | commit_english |
| description | 当用户做Git 提交时触发,例如用户输入“commit”'english commit'“英文commit”。它处理当前工作区内允许访问的 Git 已知改动;不用于改代码、访问未跟踪文件或提交受限路径。 |
Commit
适用场景
- 用户要你直接提交当前工作区。
- 用户要你尽量多次提交。
- 用户要你生成英文commit message 并执行提交。
提交信息要求
- 全部使用英文。
- 符合 GitHub 常见提交规范,优先使用:
feat、fix、docs、refactor、style、test、chore、build、ci、perf。
- 标题简单直接具体,不写文件名,不写序号。
- 使用短横线列点,不要编号。
示例:
feat: 新增企业内部应用 accessToken 获取能力
docs: 完善自动建群功能说明
- 补充群管理权限申请说明
- 补充手机号查 userId 注意事项说明
- 补充建群并关联机器人流程说明
失败处理
- 若发现未跟踪文件可能影响判断,忽略它们,不访问其内容。
- 若禁区路径中存在改动,明确说明这些内容被排除,不纳入提交。
- 若无法在不违反约束的前提下安全拆分提交,停止执行并向用户说明原因。
强约束
- 只做提交相关操作,不改用户代码,不顺手修问题,不整理格式。
- 只允许查看 Git 已知路径:已跟踪改动、已暂存新增、已暂存删除。
- 禁止读取或提交以下内容:
*/application.yml
*/application-*.yml
*/.fastRequest/*
*/.mvn/*
*/.idea/*
*/.antigravity/*
*/.vscode/*
*/.git/*
config/.env.*
*/.DS_Store
.gitignore 中提到的内容
- 读取
.gitignore。禁止访问和提交 .gitignore 内提到的内容
- 在满足
.gitignore 的前提下,必须使用 git add .、git add -A、git commit -a 自动添加生成后的代码文件
- 如果变更的代码中存在
todo,必须提醒用户(哪个文件:哪行代码),并终止后续提交
分组规则
- 除了纯编程代码以外(.java/.python),不同文件(路径不同或名称不同,视为不同的文件)必须分成不同的多次提交
- 多个提交并存时,按改动量从大到小排序后依次提交。
- 改动量以该功能分组的增删行总数估算,优先看
git diff --numstat 和 git diff --stat。
编程代码(.java/.python)分组规则
- 可以按同一业务功能,进行一次提交:
- 同一业务功能必须是同一个颗粒度非常细的具体业务,比如
集成一个三方接口或者单表CRUD 涉及到的 controller、service、impl、feign、dto、测试、文档等都属于同一业务。
- 接入多个三方接口或者多表CURD或者不同业务模块,不能视为同一业务
- 使用了
/、和、及、以及、并、等,不能视为同一业务
- 不同业务功能,分成不同的提交
- 难以判断该合并还是拆分时,优先拆成更小的独立提交,而不是混入无关改动。
- 除非单个文件涉及了多个变更,提交正文必须逐条写出具体变更,比如集成的具体接口或者具体的单表业务等等。
输出要求
- 直接提交,无需和用户确认, 但是禁止执行
git push 命令
- 提交后:按提交顺序列出每条 commit 的原始文本。
- 最后汇总总改动行数,推荐格式:
总计改动 123 行(+100 / -23)