名称: git-commit 描述: 当用户要求“提交更改”、“创建提交”、“暂存并提交”或需要帮助处理git提交工作流时使用此技能。 版本: 1.0.0 允许的工具: [Read, Bash, Glob, Grep]
Git 提交
根据暂存的更改,创建结构良好的git提交,并使用约定式提交信息。
参数
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "可选的提交信息覆盖"
},
"type": {
"type": "string",
"enum": ["feat", "fix", "docs", "style", "refactor", "test", "chore"],
"description": "约定式提交类型",
"default": "auto"
},
"scope": {
"type": "string",
"description": "提交的可选作用域"
}
}
}
使用时机
- 用户要求“提交”更改
- 用户希望将工作“保存”到git
- 用户需要关于提交信息的帮助
- 用户想要暂存并提交文件
方法论
阶段 1: 状态检查
- 运行
git status查看当前状态 - 运行
git diff --staged查看暂存的更改 - 运行
git diff查看未暂存的更改 - 检查最近的提交历史以了解信息风格
阶段 2: 分析
- 分类更改: 识别更改内容(新文件、修改、删除)
- 确定类型: 这是功能、修复、重构等吗?
- 识别作用域: 哪个组件/模块受到影响?
- 总结目的: 此更改实现了什么?
阶段 3: 提交创建
- 如果尚未暂存,则暂存相关文件
- 生成约定式提交信息
- 执行提交
- 使用
git status验证成功
阶段 4: 输出
报告:
- 提交了什么
- 使用的提交信息
- 新的提交哈希值
指南
- 遵循约定式提交格式:
type(scope): description - 保持主题行在72个字符以内
- 使用祈使语气(“添加功能”而非“已添加功能”)
- 不要提交敏感文件(.env、凭证等)
- 除非明确要求,否则不要使用 --force 或 --amend
- 包含有意义的“为什么”的描述,而不仅仅是“做了什么”
示例
示例 1: 自动提交
用户输入: “提交我的更改”
预期行为:
- 运行
git status和git diff以了解更改 - 分析更改的性质
- 生成适当的提交信息
- 如果需要,暂存文件
- 创建提交并报告成功
示例 2: 特定类型
用户输入: “创建一个 fix 类型的 commit”
预期行为:
- 检查当前的改动
- 确认这些改动符合 “fix” 类型
- 生成格式为
fix(scope): 描述的提交信息 - 执行提交并报告结果