GIM 2.0 发布了吗?AI 提交消息能定制、可控、项目级优化?
摘要:大家好,GIM(Git Intelligence Message)2.0 正式发布啦! GIM 是一个 基于变更内容自动生成高质量 Git 提交消息的命令行工具,它利用 AI 帮你写更规范、更语义化、可读性更强的 commit messag
大家好,GIM(Git Intelligence Message)2.0 正式发布啦!
GIM 是一个 基于变更内容自动生成高质量 Git 提交消息的命令行工具,它利用 AI 帮你写更规范、更语义化、可读性更强的 commit message。相比 1.x 系列,2.0 是一次核心能力升级,重点解决了 AI 提交生成在真实项目中最常见的定制与一致性痛点。
官方网站:https://git-intelligence-message.pages.dev/
仓库地址:https://github.com/davelet/git-intelligence-message
GIM 2.0 核心更新能力
1. 本地项目 Prompt 支持(.gim 目录)
2.0 版本允许在 Git 仓库根目录创建一个 .gim 文件夹,用于存放项目 私有 Prompt 模板:
your-project/
├── .git/
├── .gim/
│ ├── diff_prompt.txt
│ └── subject_prompt.txt
这意味着:
各个项目可以定义自己的 AI 提示模板
不同项目无需共享或修改全局配置
团队规范、提交风格可以直接写在仓库里,团队成员天然统一
2. 命令行临时覆盖 Prompt
在之前版本,Prompt 模板只能通过全局配置文件维护,无法灵活覆盖;
而 2.0 引入命令参数:
--diff-prompt <STRING>
--subject-prompt <STRING>
例如:
gim --diff-prompt "专注变更安全影响分析" \
--subject-prompt "生成遵循规范化格式的提交标题"
这让你在一次提交中临时覆盖 AI 指引,非常适合:
临时写“安全相关 commit”
某次提交需要特别格式
试验新的提示策略
Prompt 优先级
命令行(最高)
项目级 .gim 目录
全局 config
内置默认
项目层统一提交规范
在项目根目录:
mkdir .gim
echo "分析变更时突出安全性影响" > .gim/diff_prompt.txt
echo "按规范化格式生成提交标题" > .gim/subject_prompt.txt
所有团队成员无需各自配置,全程统一。
临时覆盖 Prompt
gim --diff-prompt "侧重性能改进" \
--subject-prompt "性能优化提交"
推荐用法
gim 根据暂存区的文件变更内容生成提交消息并提交
gim -a 自动暂存尚未暂存的变更,并生成提交消息提交
gim -p 将本次暂存的变更内容合并到上一次提交中,并根据这两次变更生成提交消息提交(就是--amend)
gim -ap 相当于gim -a后gim -p,先暂存,再合并提交
gim -t <SUB> 指定提交的标题。不指定-t参数的话,标题是根据消息内容自动总结出来的
gim update 更新软件版本,也可以brew upgrade git-intelligence-message
gim ai -m <model> -k <apikey> -u <url> -l <language> 设置AI参数。这个命令是前置命令,没有设置的话,上面携带参数的执行都会失败。-l有默认值,是英语,可以不用提供;-u是api调用的地址,软件内置了一些地址,可以查看 https://github.com/davelet/git-intelligence-message?tab=readme-ov-file#built-in-model-support ,如果模型名称能匹配上前缀也可以不提供。1.3.2版本开始,如果gim ai命令没携带参数,将输出当前配置
gim -v 任何命令都可以增加-v参数,用于查看命令的详细执行过程,v表示 verbose
gim prompt 查看当前提示词。增加--edit可以编辑提示词,增加--prompt <P>用于指定编辑文件
更详细的用法可以通过-h查看帮助信息。比如
gim -h
gim ai -h
gim update -h
gim prompt -h
