Git 智能提交助手
这个 skill 帮助你完成代码提交的完整流程,从分析变更到生成提交信息,再到本地提交和远程推送。
执行规则(必须遵守)
用户选择操作后,必须立即执行以下所有命令,禁止再次询问确认:
git add- 直接执行,不询问git commit- 直接执行,不询问git push- 直接执行,不询问
整个流程中只允许一次交互:让用户选择操作(推送远程/仅提交本地/取消)。选择后立即执行,不要有任何额外的确认步骤。
何时使用此 Skill
- 完成功能开发后提交代码
- 修复 bug 后提交更改
- 重构代码后需要提交
- 任何需要将代码变更提交到 git 的场景
工作流程
此 skill 按以下步骤执行:
1. 分析变更
自动运行 git status 和 git diff 分析当前变更,包括:
- 新增/修改/删除的文件
- 具体的代码变更内容
- 变更的类型(新功能、bug修复、重构、文档更新等)
2. 生成提交信息
基于变更内容自动生成符合规范的提交信息,包含:
- 简洁的标题(50字符以内)
- 详细的描述说明
- 变更类型标签(feat/fix/refactor/docs/style/test/chore)
- Co-Authored-By 标记
3. 展示提交信息并选择操作
向用户展示生成的提交信息,然后提供三个选项供选择:
请选择操作:
- 推送远程 - 执行本地提交后立即推送到远程仓库
- 仅提交本地 - 只执行本地提交,不推送远程
- 取消 - 取消本次提交操作
- 用户也可以先修改提交信息,再选择上述操作
4. 立即执行
重要:用户选择操作后,立即执行对应的 git 命令,无需再次询问确认。
5. 提交完成后询问是否合并到测试分支
提交(或推送)成功后,执行以下步骤:
运行
git branch -a获取所有分支列表从分支列表中识别测试分支:优先匹配名称含
test、testing、staging、dev、develop、uat、qa的分支(本地或远程均可)如果找到测试分支,询问用户:
提交成功!是否将当前分支合并到测试分支?
- [1] 合并到
<测试分支名>- 执行git checkout <测试分支> && git merge <当前分支> && git checkout <原分支> - [2] 跳过 - 不执行合并
- [1] 合并到
如果找到多个测试分支,列出所有候选分支让用户选择
如果未找到任何测试分支,跳过此步骤,不询问
使用方法
使用快捷命令触发:
/git
修改提交信息
/git,提交信息改成:修复登录页面样式问题
/git,用这个信息:feat 添加用户头像上传功能
示例
用户: /git
执行流程:
分析变更...
modified: src/components/UserProfile.tsx modified: src/services/auth.ts new file: src/types/user.ts生成的提交信息:
feat: 添加用户资料页和类型定义 - 新增 UserProfile 组件 - 完善 auth 服务中的用户信息获取 - 添加 user 类型定义 Co-Authored-By: Claude (glm-4.6) <noreply@anthropic.com>请选择操作:
- [1] 推送远程
- [2] 仅提交本地
- [3] 取消
用户选择 [1] 后,直接执行:
git add . git commit -m "feat: 添加用户资料页和类型定义..." git push(无需再次确认)
提交信息规范
此 skill 遵循 Conventional Commits 规范:
- feat: 新功能
- fix: Bug 修复
- refactor: 重构代码
- docs: 文档更新
- style: 代码格式调整
- test: 测试相关
- chore: 构建/工具相关
注意事项
- 自动跳过敏感文件(.env、密钥文件等)
- 不会执行强制推送或危险操作
- 提交前会展示所有将要提交的文件
- 如果没有变更,会友好提示