AI 提交功能
功能介绍 🤖
iGit 的 AI 提交功能使用先进的 AI 模型来分析你的代码变更,自动生成符合约定式提交规范的提交信息。这不仅能节省你的时间,还能确保提交信息的质量和一致性。
工作原理 ⚙️
-
收集变更
当你运行
igit commit
时,iGit 会收集当前的 Git 暂存区(staged)中的所有变更。 -
分析变更
AI 模型会分析这些变更,包括:
- 修改的文件类型
- 代码的增删改内容
- 变更的上下文
-
生成提交信息
基于分析结果,AI 会生成一个符合约定式提交规范的提交信息,包括:
- 类型(
feat
/fix
/docs
等) - 作用域(可选)
- 描述
- 详细说明(如果需要)
- 类型(
-
确认提交
你可以选择接受或修改生成的提交信息。
使用方法 📝
基本使用
# 生成提交信息并等待确认igit commit
# 生成提交信息并直接提交igit commit -y
# 仅生成 message 而不进行 git commitigit commit -d# 或者igit commit --dry-run
提交类型
AI 会根据变更内容自动选择最合适的提交类型:
feat
: 新功能fix
: 修复 bugdocs
: 文档更新style
: 代码格式修改refactor
: 代码重构perf
: 性能优化test
: 测试相关chore
: 构建过程或辅助工具的变动
最佳实践 💡
1. 保持变更聚焦
每次提交只包含相关的变更,这样 AI 能更准确地理解你的意图。
2. 使用暂存区
确保将要提交的文件都已经添加到暂存区:
git add <files>igit commit
3. 审查生成的信息
虽然 AI 通常能生成高质量的提交信息,但最好还是快速审查一下,确保它准确反映了你的意图。
常见问题 ❓
Q: 为什么有时候生成的提交信息不够准确?
A: 这可能是因为:
- 变更内容过于复杂或分散
- 暂存区包含了不相关的变更
- AI 模型无法完全理解特定的业务上下文
Q: 如何改进生成的提交信息质量?
- 确保每次提交的变更都是相关的
- 在配置文件中使用更强大的 AI 模型(如 GPT-4)
- 提供更多的上下文信息
配置选项 ⚙️
在 .config/igit.yaml
中可以自定义 AI 提交功能:
ai: # 是否启用 AI 提交功能,默认关闭 enabled: true # Base URL,默认使用OpenAI的API baseUrl: https://api.deepseek.com # 选择 AI 模型 model: gpt-4 # 响应语言,默认中文 respondIn: 中文 # API Key,请不要将API Key直接写入配置文件,或者不将 igit.yaml 加入 git 管理,请使用环境变量 OPENAI_API_KEY=xxxxx来设置 # apiKey: xxxxx