Jujutsu:一個相容 Git 的版本控制系統在開發者中獲得關注

BigGo Editorial Team
Jujutsu:一個相容 Git 的版本控制系統在開發者中獲得關注

在版本控制系統不斷發展的環境中,Jujutsu(簡稱 jj)正作為一個值得關注的替代方案脫穎而出。它在保持與 Git 相容性的同時,為常見的開發工作流程提供了更簡化的方法。隨著開發者們分享使用體驗,人們對 jj 在處理複雜版本控制任務時所展現的簡潔性普遍表示讚賞。

簡化的思維模型

Jujutsu 透過將所有更改(包括工作目錄)都視為一等公民提交的方式,為版本控制引入了更直觀的方法。這消除了對暫存區和貯藏等獨立概念的需求,這些概念往往讓 Git 新手感到困惑。開發者無需在多個狀態之間切換,而是可以將更改視為連續的工作流,並能隨時組織和重構它們。

Jujutsu 的主要特點:

  • 與 Git 倉庫相容
  • 將工作副本視為提交
  • 具有操作日誌和撤銷功能
  • 自動變基和衝突解決
  • 用於提交選擇的 revset 查詢語言
  • 沒有獨立的暫存區或儲藏區

Git 相容性作為戰略優勢

jj 最顯著的特性之一是能夠使用 Git 作為後端儲存系統。這意味著團隊可以逐步採用 jj,而不會中斷現有的工作流程或需要更改遠端倉庫。開發者可以在本地使用 jj,同時他們的團隊成員繼續使用 Git,這為那些想要嘗試替代版本控制工具的人提供了一個低風險的選擇。

更簡單的高階功能

該工具引入了強大的功能,解決了 Git 工作流程中的常見痛點。自動變基、一流的衝突處理和強大的撤銷系統簡化了傳統上需要多個 Git 命令和仔細考慮倉庫狀態的操作。受 Mercurial 啟發的修訂集語言為選擇和操作提交提供了強大的方式。

「由於諸多原因,從 SVN 遷移到 Git 是顯而易見的選擇,但對現有團隊和程式碼庫來說仍然需要承擔重大的遷移成本:培訓、工具重組、高保真資料傳輸。對於一個應用如此廣泛的工具來說,要推動一個生態系統進行遷移,其中涉及許多具有不同激勵機制的參與者,有些人會認為30%的改進甚至還不足以讓我們在此投入時間和金錢。」

日益增長的採用率和社群反應

雖然仍相對較新,但 jj 正在開發者中獲得關注,包括社群中的一些知名人士。使用者特別欣賞其處理堆疊更改和審查工作流的方式,儘管對於已經適應當前工具的團隊來說,是否值得從 Git 轉換仍存在爭議。

未來展望

隨著開發工作的繼續,jj 正在開發一個原生後端,同時保持其 Git 相容層。雖然這表明未來可能有創新的潛力,但專案目前專注於保持 Git 相容性,確保它可以立即投入使用。該工具在簡化複雜版本控制操作的同時保持與現有系統的相容性,使其成為版本控制系統演進中一個很有前途的選擇。

參考:Jujutsu - 一個版本控制系統