Git Atlas 是一個正在構建中的知識項目。它想解決的不是“命令怎麼拼”,而是“這些命令在 Git 的對象模型裡到底改變了什麼”。
大多數 Git 教程按命令組織內容,讀者很快會記住 reset、rebase、cherry-pick 的寫法,卻仍然不知道自己在時間線上移動了哪一步。Git Atlas 希望把這些操作放回同一張地圖裡。
一張有引力的圖
項目把 Git 的知識拆成幾種節點:
- 對象:commit、tree、blob、tag;
- 引用:HEAD、分支、遠端跟蹤分支;
- 動作:commit、merge、rebase、reset、stash;
- 問題:誤刪提交、整理歷史、找回工作區。
節點之間記錄因果關係。例如,reset --soft 改變的是引用,不改變工作區和索引;rebase 會生成新的提交對象,因此舊提交仍然可以被 reflog 找到。
為什麼用 Markdown
內容優先的項目不適合一開始就做複雜前端。Git Atlas 的骨架是一個由 Markdown 與少量 frontmatter 組成的知識庫,再由腳本生成節點索引和關係圖。
type: command
command: reset
affects: [HEAD, index, worktree]
related: [reflog, restore]
這樣每一條知識都可以被單獨審閱、鏈接和複用。視覺層可以換,但底層的對象模型和解釋必須穩定。
當前狀態
項目仍在構建視覺原型與數據結構。下一步會先完成命令之間的關係圖,再加入可交互的時間線演示。
它不會試圖成為 Git 的完整文檔,而更像一張供自己反覆查看的星圖:當你迷路時,知道該往哪個方向看。