Learn Git Branching 是一個在瀏覽器裡學習 Git 的視覺化應用:在左側終端輸入真實的 git 指令,右側的提交樹立刻以動畫呈現分支的移動與合併。它由 Peter Cottle 於 2012 年開始開發,GitHub 倉庫以 MIT 授權開源,截至 2026-09-30 已累積約 3.4 萬 stars 且仍在活躍維護。應用完全在用戶端運行,沒有後端。

網站速覽
| 項目 | 內容(截至 2026-09-30) |
|---|---|
| 網址 | learngitbranching.js.org |
| 類型 | Git 視覺化學習工具/沙盒 |
| 費用 | 免費 |
| 註冊要求 | 無需註冊 |
| 介面語言 | 約 24 種語言,含簡體中文與繁體中文 |
| 開放授權 | MIT |
核心能力
- 關卡模式:約 34 個關卡(倉庫翻譯指南中的統計口徑)分為若干系列,循序漸進涵蓋提交、分支、合併、rebase、HEAD 與相對引用,以及 clone、fetch、push、pull 等遠端協作操作;每關給出目標提交樹,達成即過關,還有「git golf」玩法比拼最少指令數。
- 沙盒模式:一個可隨意操作的虛擬倉庫,支援
undo、reset、git fakeCreateRemote模擬遠端倉庫等教學指令;可用 URL 參數把一組指令分享給他人直接復現。 - 關卡建構器:
build level指令引導使用者自製關卡並匯出 JSON 分享。 - 教學演示:透過
?demo連結可觀看自動播放的操作演示。

網站背景
作者 Peter Cottle 曾在 2012 年受雇於 Google 期間開發了這個工具的早期版本(倉庫建立於 2012-08),此後十餘年持續維護並完成了多次前端技術棧遷移(現為 Vite 建構的 React/Flux 應用)。翻譯由社群貢獻,TRANSLATING.md 提供了完整的本地化協作指南。
適用場景
- Git 初學者在真實指令與視覺化回饋之間建立對應關係;
- 團隊培訓與課堂教學——講師可以在沙盒裡現場演示 rebase 與 merge 的差別;
- 有經驗的開發者驗證冷門指令行為,或自製關卡考校同事。
限制
- 它是模擬器:不接觸真實檔案系統與遠端伺服器,
git fakeCreateRemote只是教學道具。 - 關卡涵蓋 Git 核心概念,但不涉及工作流程管理(如 Git Flow 評審)、鉤子、子模組等工程話題。
- 介面為鍵盤指令驅動,行動裝置虛擬鍵盤體驗一般。
- 進度儲存在瀏覽器本地儲存中,換裝置不會同步(基於其純用戶端架構的合理推斷)。




