GIM 2.0 发布:真正让 AI 提交消息可定制、可控、可项目级优化

大家好,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
│   └── subject_prompt

这意味着:

  • 各个项目可以定义自己的 AI 提示模板
  • 不同项目无需共享或修改全局配置
  • 团队规范、提交风格可以直接写在仓库里,团队成员天然统一

2. 命令行临时覆盖 Prompt

在之前版本,Prompt 模板只能通过全局配置文件维护,无法灵活覆盖;
而 2.0 引入命令参数:

--diff-prompt <STRING>
--subject-prompt <STRING>

例如:

gim --diff-prompt "专注变更安全影响分析" \
    --subject-prompt "生成遵循规范化格式的提交标题"

这让你在一次提交中临时覆盖 AI 指引,非常适合:

  • 临时写“安全相关 commit”
  • 某次提交需要特别格式
  • 试验新的提示策略

Prompt 优先级

  1. 命令行(最高)
  2. 项目级 .gim 目录
  3. 全局 config
  4. 内置默认

项目层统一提交规范

在项目根目录:

mkdir .gim
echo "分析变更时突出安全性影响" > .gim/diff_prompt
echo "按规范化格式生成提交标题" > .gim/subject_prompt

所有团队成员无需各自配置,全程统一。

临时覆盖 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
posted @ 2026-02-02 17:37  大卫小东(Sheldon)  阅读(3)  评论(0)    收藏  举报