Repolode
feder-cr

feder-cr/git-ai

面向 AI 编码代理的 Git 实现,服务端集中处理历史与合并,支持并发提交与冲突自动解决。

Star
1,280
Fork
124
未关闭 Issue
2
最近提交
3小时前

这是什么?

gitai 是一个独立开源的实现,采用以服务端为中心的版本控制设计,专为大量并发运行的编码代理准备。客户端保持在线,只按需拉取所需的对象和稀疏路径,blame、路径历史、祖先关系和代码搜索等历史查询由服务端完成并缓存。底层仍是普通的 Git 仓库。

并发提交时,变更会先 rebase 到分支最新位置,再通过 compare-and-swap 落地,而不是使用合并队列;同一分支上的并发落地会合并为一次引用更新。遇到冲突时,可以交给可插拔的解决器处理,可以是 LLM、确定性工具或不启用。模型给出的解决方案只有在配置的 verify 命令于最终树上通过后才会真正合并。

项目还提供可供客户端列出或实时订阅的变更集日志、按代理发放的令牌与分支策略、语义化的评审规则,以及可选 SQLite 或 PostgreSQL 存储元数据、对象存储支持文件、S3、GCS 和 Azure 的存储层。服务端与 graft CLI 使用 Go 编写,通过 make 构建,目前支持 Linux 和 macOS。

核心功能

  • 01客户端按需拉取单个对象和稀疏目录树,无需完整克隆。
  • 02blame、路径历史、祖先关系和代码搜索在服务端运行并按提交缓存。
  • 03变更 rebase 到分支最新位置后通过 compare-and-swap 落地,并发落地会被批量处理。
  • 04冲突可交给可插拔的解决器处理,模型给出的方案需通过配置的验证命令才会合并。
  • 05元数据可存于 SQLite 或 PostgreSQL,对象包可存于文件系统、S3、GCS 或 Azure。

适用场景

  • 让大量编码代理同时向同一分支提交代码。
  • 自建 Git 服务,供代理使用稀疏检出。
  • 在验证门禁之后试验 AI 辅助的合并冲突解决。
  • 记录每次引用更新的操作者与变更集,便于审计。

快速上手

  1. 1

    克隆仓库

    git clone https://github.com/feder-cr/git-ai.git
  2. 2

    进入项目目录

    cd git-ai
  3. 3

    构建服务器、命令行工具和辅助工具

    make build
  4. 4

    运行快速入门示例,在临时目录中启动服务器、缓存守护进程、两个代理并执行一次合并

    examples/graft/quickstart.sh

使用前须知

  • 仅支持 Linux 和 macOS。
  • 构建需要 Go 1.26、C 编译工具链、Meson 和 Ninja,因为它会编译内置的 Git。
  • 当前版本为 0.3.0,在 1.0 之前接口可能仍会变化。
  • 存储核心中的包文件垃圾回收等已知缺口尚未实现。

标签

常见问题

git-ai 是什么?
面向 AI 编码代理的 Git 实现,服务端集中处理历史与合并,支持并发提交与冲突自动解决。 gitai 是一个独立开源的实现,采用以服务端为中心的版本控制设计,专为大量并发运行的编码代理准备。客户端保持在线,只按需拉取所需的对象和稀疏路径,blame、路径历史、祖先关系和代码搜索等历史查询由服务端完成并缓存。底层仍是普通的 Git 仓库。
git-ai 可以免费使用吗?用的什么许可证?
git-ai 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
git-ai 还在维护吗?
活跃维护中。git-ai 最近一次提交是在 2026年10月21日。
git-ai 适合用来做什么?
让大量编码代理同时向同一分支提交代码。 自建 Git 服务,供代理使用稀疏检出。 在验证门禁之后试验 AI 辅助的合并冲突解决。 记录每次引用更新的操作者与变更集,便于审计。
git-ai 怎么安装和运行?
克隆仓库: git clone https://github.com/feder-cr/git-ai.git 进入项目目录: cd git-ai 构建服务器、命令行工具和辅助工具: make build 运行快速入门示例,在临时目录中启动服务器、缓存守护进程、两个代理并执行一次合并: examples/graft/quickstart.sh
在哪里获取 git-ai?
源代码和安装说明在 GitHub 上:https://github.com/feder-cr/git-ai

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

相关项目