什么是 Git AI?
Git AI 是指将 AI 能力集成到 Git 工作流中,帮助开发者更高效地使用 Git。主要功能包括: 自动生成规范的提交信息、解释复杂的 Git 命令、分析代码变更、辅助解决合并冲突等。
✍️
智能提交信息
根据 diff 自动生成符合规范的 commit message
🔍
变更分析
用自然语言解释代码变更的内容和目的
🤝
冲突解决
AI 辅助理解并解决 merge conflicts
📚
命令解释
将复杂的 Git 命令翻译成易懂的说明
方案一:AI 生成提交信息
使用 aicommit2
aicommit2 是一个 CLI 工具,使用 AI 自动分析暂存区的变更并生成提交信息。
安装
npm install -g aicommit2使用
aicommit2AI 会自动分析 git diff 并生成提交信息,确认后即可提交
使用 Commitizen + AI
结合 Commitizen 规范提交,配合 AI 插件自动填充。
安装配置
npx commitizen init cz-git --yarn --dev --exact
# 使用 AI 辅助:配置 cz-git 的 prompt 结合 AI API方案二:VS Code 插件
GitHub Copilot
在源代码管理面板中,点击「生成提交信息」按钮,Copilot 会根据变更自动建议提交信息。
需要 GitHub Copilot 订阅支持多种提交信息格式可自定义 prompt
GitLens + AI
GitLens 增强了 VS Code 的 Git 功能,结合 AI 可以更好地理解代码历史变更。
可视化代码作者信息强大的 blame 功能可集成 AI 解释变更
Codeium
免费的 AI 编程助手,也提供智能提交信息生成功能。
免费使用支持多种语言本地运行可选
方案三:自定义 Git Hook + AI API
通过编写 Git Hook 脚本,在 commit 前调用 AI API 自动生成提交信息。
.git/hooks/prepare-commit-msg
#!/bin/bash
# 获取当前 staged 的 diff
DIFF=$(git diff --cached)
# 调用 AI API 生成提交信息(示例使用 OpenAI)
AI_MSG=$(curl -s https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"gpt-4o\",
\"messages\": [{
\"role\": \"user\",
\"content\": \"根据以下 diff 生成简洁的 git commit message,使用中文,格式:<type>: <subject>\n\n${DIFF}\"
}]
}" | jq -r '.choices[0].message.content')
# 将 AI 生成的信息写入 commit message 模板
echo "$AI_MSG" > "$1"配置后,每次 git commit 时都会自动调用 AI 生成提交信息草稿,你可以根据需要修改后保存。
最佳实践
💡 始终审查 AI 生成的内容
AI 生成的提交信息仅供参考,提交前务必审查其准确性,确保真实反映了代码变更。
📋 遵循团队规范
在 AI prompt 中指定团队的提交信息规范(如 Conventional Commits),保持一致性。
🔒 注意敏感信息
使用 AI API 时,diff 内容会被发送到第三方服务,确保不包含敏感信息(密钥、密码等)。
🏃 小步提交
AI 对小而聚焦的变更生成的提交信息更准确,建议保持小步提交的习惯。
常用 AI Git 命令速查
aicommit2AI 生成提交信息并提交git diff | ai "解释这段变更"用 AI 解释当前变更ai "生成这段代码的 commit message"复制 diff 后让 AI 生成提交信息