一个用 Go 编写的命令行工具,借助大模型生成 git 提交信息和代码审查摘要,并可自动安装 prepare-commit-msg 钩子。
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
使用 cargo 安装 gptcommit 可执行文件
cargo install --locked gptcommit - 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 数据每日更新。
相关项目
一个命令行工具,基于暂存的代码差异,调用 AI 模型自动生成约定式 git 提交信息并完成提交。
一款 JetBrains IDE 插件,基于代码差异,借助可配置的大模型自动生成 Git 提交信息。
一个命令行工具,基于你选择的 AI 模型,根据暂存的代码改动自动生成 git 提交信息。
一个 TypeScript 命令行工具,通过交互式提示生成符合 Conventional Commits 规范的提交信息。
在每次 git commit 前对暂存的代码变更运行 AI 代码审查,并通过浏览器界面查看行内评论。