開發者經常喺處理複雜 Git 工作流程時,覺得命令繁瑣、狀態追蹤混亂,尤其喺大型專案中 merge conflict 同歷史記錄查詢變得麻煩。jj 就係一款 Git-compatible VCS,專為解決呢啲痛點而生。它面向日常用 Git 嘅程式員同團隊,提供更直觀嘅操作方式,同時保持 Git 嘅完整相容性,讓你無需改變現有習慣,就能享受到更流暢嘅版本控制體驗。
完全相容 Git,無縫整合現有工作流程
jj 嘅最大優勢在於它與 Git 高度相容。你可以用 jj 嘅命令操作 Git repo,反之亦然,例如 jj git export 就能將變更匯出到 Git,jj git import 則導入 Git 歷史。呢個設計意味住團隊成員唔使全員轉換工具,就能共同使用。打開 jj 後,它會自動識別 Git repo,並提供額外功能如自動 rebase,減少手動解決衝突嘅次數。

工作目錄自動 commit,永遠保持乾淨狀態
傳統 Git 需要手動 git add 同 git commit,容易導致工作目錄凌亂。jj 改變咗呢點:任何檔案修改都會自動 commit 到一個隱藏嘅「working copy」分支,讓 repo 隨時處於乾淨、可重置狀態。你可以用 jj diff 查看未 commit 變更,jj squash 合併多個自動 commit,或者 jj abandon 直接拋棄無用變更。呢種機制特別適合頻繁試錯嘅開發過程,減少咗「忘記 commit」或「staging area 爆炸」嘅困擾。
喺實際使用中,jj 嘅自動 commit 唔會影響 Git 歷史,因為它們儲存喺 jj 專屬嘅內部結構,直到你明確 export 先會推送到 Git。呢個分離設計,讓你喺本地自由實驗,而唔驚搞亂遠端 repo。
整個 repo 即為真相來源,歷史記錄一目了然
jj 將整個 repository 視為唯一真相來源,包括未 commit 嘅工作目錄變更。呢個理念透過 jj log 命令體現得淋漓盡致:它顯示一個清晰嘅 DAG(Directed Acyclic Graph)視圖,包含所有 commit、分支同衝突狀態,同傳統 git log 嘅線性列表相比,更易理解複雜歷史。支援多平台如 macOS、Linux 同 Windows,安裝簡單,只需下載二進位檔。
另外,jj 內建強大嘅自動 rebase 功能,喺 pull 遠端變更時自動重排本地 commit,避免無謂衝突。對於經常處理 feature branch 嘅開發者,呢個特點大幅縮短咗 review 同 merge 時間。相比 Git,jj 嘅操作更像高階抽象,隱藏咗底層細節,但保留咗所有靈活性。
新聞更新同相關資源即時跟進
jj 嘅 GitHub 頁面設有專區追蹤最新 commit 同歷史變更,讓用戶輕鬆掌握進度。相關媒體同討論亦集中呈現,方便開發者探索更多應用案例。無論係個人專案定團隊協作,jj 都提供咗一個更簡單卻強大嘅 VCS 選擇,值得 Git 用戶試用。
產品名稱:jj
官方網站:https://github.com/jj-vcs/jj

