Repolode
zurawiki

zurawiki/gptcommit

一个 git prepare-commit-msg 钩子,利用 OpenAI 模型根据暂存的改动自动生成提交信息。

Star
2,413
Fork
81
未关闭 Issue
9
最近提交
6天前

这是什么?

gptcommit 以 git prepare-commit-msg 钩子的形式安装。正常执行 git commit 时,它会读取暂存区的 diff,发送给 OpenAI 模型,并自动填入提交信息,提交前仍可手动修改。

配置可以写在用户级配置文件、仓库级配置中,也可以通过 GPTCOMMIT__ 开头的环境变量设置,同时兼容 OPENAI_API_KEY 和 OPENAI_API_BASE 变量。可调整的内容包括模型、API 地址、代理、重试次数和输出语言,支持英文、简体中文、繁体中文和日文。还可以开启 Conventional Commits 前缀,并自定义提示词。

针对较大的改动,file_ignore 支持 Git 风格的通配规则,可以排除锁文件、压缩后的前端资源或生成代码。暂存内容为空或全部被忽略时,提交信息保持不变,且不会调用 API。使用 --verbose 参数可以查看进度和被跳过的文件。可通过 cargo 或 Homebrew 安装。

核心功能

  • 01基于暂存区的 diff,调用 OpenAI 模型生成提交信息。
  • 02通过一条命令即可安装为 git prepare-commit-msg 钩子。
  • 03支持英文、简体中文、繁体中文和日文输出。
  • 04使用 Git 风格的规则忽略锁文件、压缩后的 JS 等无关文件。
  • 05通过 config get/set 命令管理用户级、仓库级和环境变量三层配置。
  • 06支持自定义 API 地址和代理,并可开启 Conventional Commits 前缀。

适用场景

  • 日常开发中不必手写提交信息,由模型根据改动快速生成草稿。
  • 团队统一使用 Conventional Commits 前缀,保持提交历史风格一致。
  • 需要用中文或日文撰写提交信息的项目。
  • 通过自定义 API 地址接入兼容 OpenAI 接口的服务。

快速上手

  1. 1

    使用 cargo 安装 gptcommit 可执行文件

    cargo install --locked gptcommit
  2. 2

    在 git 仓库中安装 prepare-commit-msg 钩子(需要 OpenAI API 密钥)

    gptcommit install

使用前须知

  • 需要有可用额度的 OpenAI API 密钥,使用费用由 OpenAI 计费。
  • 暂存的差异内容会发送到 OpenAI 的 API 以生成提交信息。

收录于专题

标签

常见问题

gptcommit 是什么?
一个 git prepare-commit-msg 钩子,利用 OpenAI 模型根据暂存的改动自动生成提交信息。 gptcommit 以 git prepare-commit-msg 钩子的形式安装。正常执行 git commit 时,它会读取暂存区的 diff,发送给 OpenAI 模型,并自动填入提交信息,提交前仍可手动修改。
gptcommit 可以免费使用吗?用的什么许可证?
gptcommit 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
gptcommit 还在维护吗?
活跃维护中。gptcommit 最近一次提交是在 2026年11月1日。
gptcommit 适合用来做什么?
日常开发中不必手写提交信息,由模型根据改动快速生成草稿。 团队统一使用 Conventional Commits 前缀,保持提交历史风格一致。 需要用中文或日文撰写提交信息的项目。 通过自定义 API 地址接入兼容 OpenAI 接口的服务。
gptcommit 怎么安装和运行?
使用 cargo 安装 gptcommit 可执行文件: cargo install --locked gptcommit 在 git 仓库中安装 prepare-commit-msg 钩子(需要 OpenAI API 密钥): gptcommit install
在哪里获取 gptcommit?
源代码和安装说明在 GitHub 上:https://github.com/zurawiki/gptcommit

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目