Git尚未准备好应对AI代码海啸
AI生成的代码和拉取请求激增,导致GitHub等服务频繁中断、性能下降。HashiCorp联合创始人Mitchell Hashimoto因不满而迁移项目。专家们探讨了多种解决方案,包括新型Git客户端、去中心化系统以及Git 3.0的改进。
Git作为全球最流行的分布式版本控制系统,正面临前所未有的挑战。随着AI编码工具的普及,大量由AI生成的代码和拉取请求涌入,导致GitHub等服务不堪重负。上个月,HashiCorp联合创始人Mitchell Hashimoto公开宣布将其开源项目Ghostty终端模拟器从GitHub迁移,理由是频繁的服务中断和越来越慢的拉取请求响应。他明确表示问题不在Git本身,而在于围绕Git的生态设施如问题跟踪、拉取请求和Actions。
2025年,GitHub上AI生成的项目数量同比增长206%(以Bash脚本使用量衡量),而AI生成的代码带来了更多错误。GitClear的研究显示,AI生成的拉取请求平均引入10.83个问题,而人工编写的仅为6.45个。DevOps平台Autoptic的联合创始人Peco Karayanev指出,AI代理正推动软件开发向持续流模式转变,但Git的操作(如提交、推送、合并)仍依赖手动触发,难以适应自动化需求。
针对这些问题,多个项目试图改进或替代Git。GitButler通过虚拟分支技术允许开发者同时在不同分支上工作,并解决“变基地狱”问题。其联合创始人Scott Chacon认为,Git的可用性存在“尖锐的边缘”,而GitButler旨在重新设计Git的“瓷层”。Chacon还指出,GitHub的问题源于所有用户集中于单一服务,他建议分布式使用Git,并通过客户端(如GitButler)进行全局镜像管理。
更根本的变革则来自Diversion,该公司开发了专为大型游戏设计的新型分布式版本控制系统。CEO Sasha Medvedovsky批评Git的架构本质上限制规模扩展,因为操作在单线程上运行,无法并发,导致仓库越大提交越慢。此外,Jujutsu项目提供了一个Git兼容的版本控制系统,具备撤销功能和冲突时继续提交的能力;Gitoxide则使用Rust重写Git,旨在提升性能和内存安全性。
Git本身也在进化。在FOSDEM 2026上,核心贡献者Patrick Steinhardt透露了Git 3.0的改进,重点是Reftable特性。当前Git使用“packed-refs”文件管理引用,随着项目增大,该文件的读写变得极其低效。Reftable采用可索引的二进制格式,支持块更新,大幅提升性能,尤其适合多读者多写者场景。这一改进将帮助Git应对AI代理带来的海量提交。
面对AI编码浪潮,Git能否保持其核心地位?从新型客户端到底层重构,再到协议改进,社区正从多个方向探索出路。虽然挑战严峻,但Git的灵活性和广泛生态为其提供了缓冲空间。正如Chacon所言,所有工作流都已改变,系统也应随之变革。