昨天Anthropic工程师发博客,讲他们把git换了。
git是全世界程序员用了快20年的吃饭家伙,但他们家现在一天要合并3万次代码,git伺候不动了。
今年5月,A厂一天合并才2500次。
为啥涨这么猛?因为交代码的主力不是人了。
A厂家里写代码的,除了人,还有一大群AI员工,博客里的原话是,客户端主要是agent和自动任务。
先把git这玩意解释一下,尽量照顾不懂技术的朋友。
git保管代码,像一个巨型档案柜。
A厂这种大公司喜欢把全公司的代码塞进同一个柜子,光历史记录就快100G。
git的规矩是,你要干活,先把整个柜子完整复制一份拿回家。
注意,是复制,不是搬,两份一模一样。
所以,100G的东西,每个程序员电脑上都要存一份。
为什么设计成这样,因为git出生在20年前,那年头网络贵,程序员的需求是离线也能干活。
只要家里那份完整,断网照样查历史、做对比、交代码。
所谓主仓库,只是大家约好把哪份当汇合点,设计上人人平等。
这套设计给了程序员方便,代价就是复制。同一个柜子,被复制了成百上千份,太占地方。
而且要用代码的不止程序员。
每次有人交代码,公司里还有一批机器质检员要开工,行话叫CI(持续集成)。
它们负责把最新代码拉一份出来,编译,跑测试,防止有人把东西改坏。
A厂这种一天合并3万次的地方,机器质检员+AI员工+各种定时任务,一天要取代码2500万次。
按老规矩走,一天得传600PB。一块家用硬盘才1TB,600PB是60万块硬盘。
取代码的机器越来越多,镜像的内存和磁盘一个个被撑爆,运维成本跟着合并量一路涨。
新用柜子的这批家伙,AI员工和机器质检员,永远在线。不下班,不坐飞机,不去咖啡馆。
git为离线的人类准备的那身本事,对它们是纯负担。
于是A厂干脆造了个新柜子,叫Scion。
新规矩是,不许复制回家,所有人直接对着总柜子干活。
你要哪个目录,服务器把哪个目录递过来,别的先不动。要对比、要查历史、要交代码,全是服务器算好了递结果,你本地就是个薄壳。
效果相当好。
机器开销压缩到原来的两百分之一,取代码时间从几分钟变成几秒。
光机器质检这一项,就省出四分之一的CPU。
当然也有代价。
以后人们在飞机上改的代码,落地联网之前是交不上去的,版本控制全在服务器。
所以博客里建议,Scion不是git的通用替代品,也没开源。
普通团队该用git用git。
但博客里认为,大家早晚都会走到这一步,他们只是先遇到了。