告别手写 commit message, gitai-让AI成为你的git贴心助手
作为一名程序员,我们都热爱创造,热衷于用代码改变世界。但不得不承认,在日常的开发流程中,总有一些“烦人”的小事,比如写文档、写注释,以及——写 git commit
信息。这些任务虽然重要,但往往会打断我们心流,让人觉得索然无味。
在AI技术日新月异的今天,我们完全可以将这些重复性的文字工作交给AI来完成。今天,我就向大家隆重介绍一款能让你从这些繁琐任务中解脱出来的神器——gitai
。
gitai
是什么?
gitai 是一款集成了AI能力的git命令行工具集,它能帮你自动生成 commit
信息、创建 pull request
,甚至是生成 tag
的发布说明。它的目标只有一个:将你从繁琐的文字工作中解放出来,让你专注于真正重要的代码创造。
依赖配置: llm
gitai
的强大功能依赖于 llm 这款命令行工具。llm
为我们提供了与各种大型语言模型(LLM)交互的统一接口。因此,在使用 gitai
之前,我们需要先对 llm
进行简单的配置。
安装 llm
你可以通过 pip
或 brew
来安装 llm
:
使用 pip
pip install llm
使用 Homebrew
brew install llm
配置 API Key
llm
需要使用 API Key 来访问各大厂商的语言模型。以 OpenAI 为例,你可以通过以下命令配置你的 API Key:
llm keys set openai
然后,根据提示输入你的 OpenAI API Key。
llm
也支持其他多种模型,比如 gemini
, claude
等。你可以通过安装相应的插件来使用它们:
安装 gemini 插件
llm install llm-gemini
配置 gemini API Key
llm keys set gemini
选择默认模型
为了方便起见,你可以设置一个默认使用的模型。例如,将 gpt-4o-mini
设置为默认模型:
llm models default gpt-4o-mini
这样,gitai
在执行时就会默认使用 gpt-4o-mini
模型来生成内容。
完成了 llm
的配置后,我们就可以开始享受 gitai
带来的便利了。
安装
安装 gitai
非常简单,只需要一行命令:
brew install tenfyzhong/tap/gitai
gitai
的“三板斧”
gitai
主要提供了三个核心工具,每一个都能在你的git工作流中发挥巨大作用。
1. ai-commit-msg
: 会呼吸的 commit
信息
你是否曾为了一个 commit
信息而绞尽脑汁?ai-commit-msg
就是你的救星。它是一个 git hook
,在你执行 git commit
时,它会自动分析你的代码变更,并生成一条清晰、规范的 commit
信息。
全局配置 (推荐)
为了让所有项目都能享受到这个便利,推荐你进行全局配置:
创建全局
hooks
目录:mkdir -p ~/.git-hooks
配置
git
使用该目录:git config --global core.hooksPath ~/.git-hooks
将
ai-commit-msg
链接到hooks
目录:ln -s "$(which ai-commit-msg)" ~/.git-hooks/prepare-commit-msg
配置完成后,你就可以像往常一样使用 git commit
,gitai
会在后台默默为你准备好 commit
信息,你只需要检查并保存即可。
项目内配置
如果你只想在特定的项目中使用,可以进入项目.git/hooks
目录,然后执行ln -s "$(which llm-commit-msg)" ./prepare-commit-msg
。
2. aipr
: 一键生成 Pull Request
写 Pull Request
的标题和描述同样是一件耗时的事情。aipr
工具可以根据你的分支和代码变更,自动为你生成 Pull Request
的标题和内容。
使用方法
aipr [options]
aipr
支持 gh pr create/edit
的所有参数,你可以用它来指定目标分支、远程仓库等。比如:
为当前分支创建一个pr, 合并到main分支
aipr -B main
aipr
会自动为你生成标题和描述,并打开编辑器让你确认。
3. aitag
: 智能生成 Release Tag
发布新版本时,需要为 tag
编写发布说明。aitag
可以帮你自动完成这项工作。它会分析从上一个 tag
到现在的代码变更,并生成一份详尽的发布说明。
使用方法
aitag [OPTIONS] TAG_NAME [COMMIT]
比如,要创建一个名为 v1.0.0
的 annotated tag:
aitag v1.0.0
aitag
会为你生成 tag
的说明,让你的版本发布更加专业。
高级定制
gitai
还提供了强大的定制功能。你可以通过修改 ~/.config/gitai/prompts
目录下的 prompt
文件,来调整 gitai
生成内容的风格和格式,让它更符合你或团队的规范。
同时,gitai
也支持通过环境变量进行配置,例如 GITAI_MODEL
、GITAI_LANGUAGE
等,让你对 gitai
的行为有更精细的控制。
总结
gitai
是一款能显著提升 git
工作效率的工具。它将AI的强大能力融入到我们日常的开发流程中,让我们从繁琐的文字工作中解放出来。如果你也厌倦了手写 commit
信息和 Pull Request
,不妨试试 gitai
,让AI成为你的贴心 git
助手吧!