#git #ai #openai #local-git #suggestions #gpt-4 #context

app giton

Giton 是一款基于AI的Git实用工具

3个不稳定版本

0.1.0 2024年2月6日
0.0.1 2023年12月23日
0.0.1-beta.12023年12月1日

#140 in 机器学习

MIT 许可证

61KB
672

giton

Git的AI增强

Build Tests Crates.io MIT License

giton 是一个用于 git 的AI增强程序。它使用 OpenAI GPT-4 和你的本地git上下文来提供命令建议。 gitongit 命令的代理,因此你可以将其用作git的替代品。

目录

安装

您需要在您的命令行中安装并可访问 git

预构建的二进制文件

您可以从 最新版本 下载相关二进制文件。Linux、macOS和Windows的二进制文件适用于x86_64。

使用Cargo编译

如果您已安装rust工具链,可以使用 cargo 安装 giton

cargo install giton

配置

您需要一个 OpenAI API密钥 才能使用 giton。在OpenAI创建账户后,您可以生成一个API密钥。然后,您需要将此API密钥设置在您的shell环境中。

对于 Linux/macOS

export GITON_OPENAI_KEY=your_api_key

对于 Windows/Powershell

$env:GITON_OPENAI_KEY = "your_api_key"

命令

历史记录

giton 将您的命令历史存储在您目录根部的 .giton 文件中。建议跟踪此文件,因为它可以提高 undohelpme 命令的准确性。

用法

giton history

输出

2023-12-13 20:01:45: status
2023-12-20 00:56:03: add .
2023-12-20 00:56:20: commit -m imp(display): add spinners

helpme

helpme 使用您的当前仓库上下文来建议可能的命令。

用法

giton helpme

输出

⢿ Communicating with Open AI
+---+----------------------------------------------+
| # | Command                                      |
+==================================================+
| 0 | git add README.md                            |
|---+----------------------------------------------|
| 1 | git commit -m "chore(readme): update README" |
+---+----------------------------------------------+

:: Prooced with Command(s)?: [Y/n]

撤销

undo 使用 giton 存储的历史记录来建议一个命令(或一系列命令),以取消您之前的命令。

用法

giton undo

输出

⣷ Communicating with Open AI
+---+------------------------------------------+
| # | Command                                  |
+==============================================+
| 0 | git restore --staged core/src/command.rs |
+---+------------------------------------------+

:: Prooced with Command(s)?: [Y/n]

GPT-4 成本

GPT-4 不是免费的,实际上可能相当昂贵。只有 helpmeundo 命令会调用 GPT-4;所有其他命令(包括 git 代理命令)都不会调用 GPT-4。

估计 GPT-4 调用的成本很困难。我建议您经常检查 Open AI 控制面板中的使用标签页,以了解成本;并根据需要调整您的消耗。

漏洞报告

如果您报告安全漏洞,可以直接 发送邮件给我

许可证

giton 采用 MIT 许可证分发。

有关详细信息,请参阅 LICENSE

依赖项

~21–36MB
~589K SLoC