AImmit 是一个用 Go 开发的命令行 AI 工具,用于根据代码变更自动生成 commit message,以及总结 Git 仓库的 commit 历史。它可以帮助开发者提高工作效率,生成规范的提交信息。
AI + Commit,发音类似“Aim it”,意为“瞄准它”,比喻精准总结
- 生成Commit Message:根据当前工作区的代码变更,自动生成符合约定式提交规范的 commit message
- 多种输出格式:支持文本、JSON 和约定式提交格式
- 自动提交:可选择自动执行 git commit 操作
- 简单易用:友好的命令行界面
确保您已安装 Go 1.20 或更高版本,然后运行:
go install github.com/rust17/AImmit/cmd/aimmit@latest
或者从源码构建:
git clone https://github.com/rust17/AImmit.git
cd AImmit
go build -o aimmit ./cmd/aimmit
aimmit
--format
: 输出格式,支持 text、json、conventional(仅commit模式),默认为 text--repo
: Git 仓库路径(默认为当前目录)--staged
: 是否只分析已暂存的更改(默认为true,只分析已暂存的更改)--auto-commit
: 是否自动执行 git commit 操作(默认为false)--ollama-url
: Ollama 服务 URL--model
: Ollama 模型名称(默认为qwen2.5:3b)--only-prompt
: 是否只显示prompt(默认为false)
生成 commit message 并自动提交:
aimmit --auto-commit
分析未暂存的更改:
aimmit --staged=false
分析指定仓库路径:
aimmit --repo=/path/to/repo
AImmit 生成的 commit message 遵循约定式提交规范,格式如下:
<类型>[可选的作用域]: <描述>
[可选的正文]
[可选的脚注]
常见的提交类型包括:
feat
: 新功能fix
: 修复bugdocs
: 文档更新style
: 代码风格调整(不影响代码功能)refactor
: 代码重构perf
: 性能优化test
: 测试相关build
: 构建系统或外部依赖变更ci
: CI配置变更chore
: 其他变更
- 经测试,对于生成 commit message 的模型,请选择参数至少达到 4B,效果才比较好,推荐使用
tavernari/git-commit-message:latest
或者把prompt
打印出来用在线大模型服务生成
MIT