GitHub的聯(lián)合創(chuàng)始人Scott Chacon最近籌集了1700萬美元,他的目標(biāo)很簡(jiǎn)單:
干掉Git!
![]()
作為絕對(duì)的Git資深玩家,豆瓣9.0分《Pro Git》的作者,一個(gè)靠Git吃飯,成名,發(fā)財(cái)?shù)娜耍琒cott Chacon為什么要“反水”?
這1700萬美元,是要做一個(gè)“Git之后的東西”:GitButler。
![]()
GitButler會(huì)保存Git的底層能力(DAG,Commit,History),然后重做上層交互模型,最終實(shí)現(xiàn)一個(gè)AI編程時(shí)代的版本管理工具。
01
Git出了什么問題?
Git堪稱開發(fā)者世界中最讓人又愛又恨的工具,它的底層抽象非常優(yōu)雅,核心的數(shù)據(jù)結(jié)構(gòu)只有四種:Blob、Tree、Commit、Tag。
![]()
這四者加上哈希引用,居然就能表達(dá)整個(gè)歷史樹!
設(shè)計(jì)極度簡(jiǎn)潔,但威力無窮。
這和 UNIX 哲學(xué)一樣,少而精,組合強(qiáng)大。
所以,Git經(jīng)受了20多年的考驗(yàn)而經(jīng)久不衰。
不過,Git的分布式架構(gòu)、暫存區(qū)(Stage)機(jī)制、分支管理策略以及復(fù)雜的命令組合,也讓很多程序員在使用的時(shí)候陷入迷茫和困惑,熟練了以后才能得心應(yīng)手。
到了AI編程時(shí)代,類似Claude Code的工具讓程序員的生產(chǎn)率暴增,程序員完全可以同時(shí)驅(qū)動(dòng)幾個(gè)Claude Code干活。
一個(gè)負(fù)責(zé)新功能開發(fā),另一個(gè)處理bug修復(fù),還有一個(gè)做代碼重構(gòu),同時(shí)運(yùn)行互不干擾。
但是,傳統(tǒng)的Git分支模型面對(duì)并行的處理就力不從心了,因?yàn)槟阒挥幸粋€(gè)工作目錄,需要不停地切換分支:
![]()
先在Branch A上開發(fā)新功能,然后到Branch B上修復(fù)Bug,再到Branch C上做代碼重構(gòu)。
本來可以并行執(zhí)行的功能,變成了順序執(zhí)行,你需要瘋狂切換。
你可以為每個(gè)AI會(huì)話都創(chuàng)建一個(gè)新的工作目錄(git worktree),這意味著反復(fù)運(yùn)行項(xiàng)目的初始化設(shè)置(npm install等),效率低不說,當(dāng)不同AI修改同一文件時(shí),你還要和自己制造的合并沖突做斗爭(zhēng)。
02
GitButler如何解決?
GitButler的解決方案很簡(jiǎn)單:只有一個(gè)工作目錄,但是可以創(chuàng)建多個(gè)虛擬分支。
拿之前的例子來講,你可以同時(shí)開3個(gè)Claude Code,一個(gè)開發(fā)新功能,一個(gè)修復(fù)Bug,還有一個(gè)做代碼重構(gòu),它們?cè)谕粋€(gè)工作目錄中干活。
等活兒干完了,你可以查看不同的代碼修改,然后再添加到不同的虛擬分支去。
先干活,再生成分支,感覺和之前的工作方式完全反過來了,對(duì)吧?
![]()
但是有個(gè)問題,如果各個(gè)功能之間修改的代碼出現(xiàn)了交織的情況,程序員很難把他們區(qū)分開,怎么添加到不同的分支呢?
GitButler在這一點(diǎn)上很聰明,它通過Claude Code的生命周期鉤子實(shí)現(xiàn)了一個(gè)精妙的自動(dòng)化流程:
AI開始編輯文件,GitButler能收到通知,自動(dòng)創(chuàng)建虛擬分支,然后把該AI所做的所有修改都放到這個(gè)分支中。
這就真正地讓AI成為了一個(gè)“并行開發(fā)者”,在其隔離的環(huán)境中貢獻(xiàn)著干凈、可審閱的代碼。
![]()
當(dāng)然,GitButler增加的新功能遠(yuǎn)不止此,還包括:
分支堆疊:將一個(gè)大的功能拆分成若干個(gè)相互依賴的小分支,從而加快審查速度,并使集成能夠逐步進(jìn)行。
人工智能助手:讓AI來處理這些繁瑣的工作:自動(dòng)生成分支名稱、提交信息和PR描述,從此不用寫“做了一些改進(jìn)”之類無用的comment了。
對(duì)Commit進(jìn)行修改: 把“后來發(fā)現(xiàn)的代碼問題”,塞回“當(dāng)時(shí)該提交的那個(gè) commit 里”,同時(shí)自動(dòng)處理所有歷史關(guān)系,這樣就避免了補(bǔ)丁疊補(bǔ)丁,或者rebase的操作。
03
激烈爭(zhēng)吵
GitButler的作者公布了融資額度以后,國(guó)外社交媒體上也吵翻了天,質(zhì)疑聲一片:
“Git根本沒問題,你在解決一個(gè)不存在的問題”
“這些功能早就有了(worktree,branch)”
“你這是為了迎合AI,強(qiáng)行改變成熟的工作流程”
“多個(gè)AI同時(shí)開發(fā),會(huì)導(dǎo)致更嚴(yán)重的代碼混亂!”
當(dāng)然也有人贊賞:
“Git 的UI確實(shí)很爛”
“并行開發(fā)(尤其 AI agent)確實(shí)是新需求”
“更好的 code review 顆粒度”
“嘗試突破 Git 的歷史包袱”
總之,反對(duì)派的觀點(diǎn)是,Git已經(jīng)是正確的抽象,不要為了AI而亂改,更不能拿把基礎(chǔ)設(shè)施私有化(GitButler并不是完全的開源軟件)。
支持派則認(rèn)為:Git是歷史遺產(chǎn),工具應(yīng)該適應(yīng)AI和新的開發(fā)模式。
所以,GitButler 的爭(zhēng)議,本質(zhì)不是工具之爭(zhēng),而是:“未來軟件工程該圍繞 Git,還是圍繞 AI 重構(gòu)?”
04
Git不是終點(diǎn)
就在GitButler拿到1700萬美元融資的同時(shí),另一個(gè)信號(hào)也耐人尋味:2026年2月,GitHub前CEO Thomas Dohmke創(chuàng)立的Entire以3億美元估值完成6000萬美元種子輪融資,領(lǐng)投方稱其為“開發(fā)工具史上最大種子輪”。
![]()
Entire的野心更大:不止要替代GitHub,而要為AI寫代碼這件事兒,重新打造一整套開發(fā)基礎(chǔ)設(shè)施,它不僅要保存代碼,還要保存“上下文”(提示詞,推理過程,工具調(diào)用,約束條件.....)
兩位曾經(jīng)的Git生態(tài)守護(hù)者,如今卻雙雙站在了Git的對(duì)立面。
原因很簡(jiǎn)單,整個(gè)軟件行業(yè)又要開始一場(chǎng)范式轉(zhuǎn)變:“從以人類為中心的手工業(yè)協(xié)作,轉(zhuǎn)向以智能體為中心的工業(yè)化生產(chǎn)。”
Git 2005年誕生,隨后席卷全球,把SVN等版本管理工具打得潰不成軍。
我當(dāng)時(shí)覺得它的設(shè)計(jì)巧妙而精良,至少也會(huì)用個(gè)三五十年吧,但沒想到,僅僅20年過去,AI時(shí)代的編程就向它發(fā)出了挑戰(zhàn)。
Git還能流行多久,GitButler能不能上位,我們并不知道,我們知道的是:
Git不是終點(diǎn),它和SVN一樣,是一個(gè)時(shí)代的答案。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.