This article is not yet available in English. You are reading the Traditional Chinese original. The English edition will appear here once it is translated.
Browse articles that do have an English editionGit 與 GitHub:AI 工具一直叫你去 clone,那到底是什麼
你裝一個 AI 編程工具,說明第一句是「clone 這個 repo」。 你裝一個 Agent,它說「把你的專案初始化成 git repo」。 你想裝一個技能,教學寫「fork 之後改 SKILL.md 再提 PR」。
這些說明都假設你已經懂 Git。 但沒人解釋過它,因為對寫說明的人來說它像空氣。
這篇解釋五個詞,以及為什麼不寫程式的人也需要懂其中三個。
先講 Git 解決什麼問題
想像你在改一份重要文件。你的做法可能是:
報告.docx
報告_最終.docx
報告_最終_v2.docx
報告_最終_v2_真的最終.docx
報告_最終_v2_真的最終_老板改過.docx
Git 就是用來取代這堆檔案的。它做三件事:
- 記錄每一次改動的完整歷史,而且不是存整份副本,是存「這次改了哪幾行」
- 讓你可以隨時回到任何一個過去的狀態
- 讓多個人(或多個 Agent)同時改同一批檔案而不會互相蓋掉
第三件事是 AI 工具為什麼一直提它:Agent 會改你的檔案,而你需要能復原。
一、Repository(repo,儲存庫)
一個被 Git 追蹤的資料夾。 就是這樣。
它看起來跟普通資料夾一模一樣,差別只在裡面有一個隱藏的 .git 目錄 —— 所有歷史都存那裡。
cd 你的專案資料夾
git status # 看這個資料夾是不是 repo,以及有什麼變動
如果它說 not a git repository,那它就只是一個普通資料夾。
為什麼 AI 工具要你把專案變成 repo:因為這樣它改壞了東西你能復原。一個沒有 git 的資料夾,被 Agent 改錯就是改錯了。
把普通資料夾變成 repo:
git init
二、Commit(提交/快照)
一次「存檔」,但帶一句說明。
git add . # 把變動放進「準備存檔」區
git commit -m "修正登入頁的錯字" # 存檔,附一句說明
每個 commit 有一個獨一無二的編號(一長串字母數字,像 a3f9c21),以及誰在什麼時候改了什麼的完整記錄。
關鍵觀念:commit 不是「存檔」,是「一個可以回去的點」。 你可以隨時回到任何一個 commit 的狀態。
git log --oneline # 看歷史,一行一個 commit
git diff # 看「我改了但還沒 commit」的東西
對 AI 工具使用者,git diff 是最有用的一個指令。 Agent 說它改好了,git diff 讓你在接受之前看到它到底改了哪幾行。見 Agent 到底看得到什麼。
三、Branch(分支)
一條獨立的修改線。
預設的那條通常叫 main(舊專案可能叫 master)。你可以開一條新分支去試一個想法,試壞了直接丟掉,main 完全不受影響。
git branch # 看有哪些分支,* 是你現在所在的那條
git switch -c 試個想法 # 開一條新分支並切過去
git switch main # 切回主線
為什麼這跟 AI 工具有關:讓 Agent 在一條分支上工作,是最便宜的防護。它做壞了,你切回 main,什麼都沒損失。這比「備份整個資料夾」簡單得多,也比「祈禱它不要改壞」可靠。
本站在 子 Agent 隔離 裡講的是同一個思路的進階版。
四、Clone 與 Fork
這兩個詞常常被混用,但方向相反。
Clone:把別人的 repo 複製到你自己的電腦上。
git clone https://github.com/某人/某專案.git
這只是「下載」,但下載的是完整歷史,不是一個快照。你 clone 下來之後可以在本地隨便改,不需要任何人的許可,也影響不到原專案。
Fork:在 GitHub 上把別人的 repo 複製一份到你的帳號下。
Fork 是 GitHub(網站)的功能,不是 Git(工具)的功能。它讓你在伺服器上有一份自己的副本,然後你可以改它、並且請求原專案接受你的改動。
典型的技能安裝流程就是這樣:
fork 到自己帳號 → clone 自己那份到本機 → 改 → commit → push → 提 PR
如果你只是想用一個東西,clone 就夠了,不需要 fork。 Fork 的意義是「我想把改動送回去」。
五、Pull Request(PR,合併請求)
「我改了這些,請你考慮併進去。」
它不是一個指令,是 GitHub(或 GitLab 等平台)上的一個頁面:列出你改了什麼、讓別人審查、討論、最後決定要不要接受。
你什麼時候會遇到它:
- 你想給一個開源專案貢獻東西
- 你在一個團隊裡,改動要經過同事審查才能進主線
- 你讓 Agent 幫你改一個 repo,它可能開一條分支然後叫你提 PR —— 這時候 PR 是「它做完了,等你審」的意思
你大概率不需要自己提 PR。 但你需要看得懂那個頁面:左邊是原本的,右邊是改後的,紅色是刪掉的行,綠色是加上的行。
六、不會寫程式的人需要懂哪三個
repo、commit、branch。
因為:
- repo 決定了你的檔案有沒有歷史可查。AI 工具要求它,是因為沒有它就沒有復原能力。
- commit 是「存一個可以回去的點」。在讓 Agent 動任何重要檔案之前先 commit 一次,這是成本最低、回報最高的防護。
- branch 讓你在不影響主線的情況下試錯。
clone/fork/PR 是「跟別人協作」才需要的。你自己在電腦上用 AI 工具,前三個就夠。
七、五個最常用的指令
git status # 現在什麼情況(最常打,沒有副作用)
git diff # 我改了什麼但還沒存
git add . && git commit -m "說明" # 存一個可以回去的點
git log --oneline -10 # 最近十個存檔點
git switch -c 新分支 # 開一條線去試
git status 與 git diff 是完全安全的 —— 它們只讀不寫,隨便打。先養成打 git status 的習慣,你就已經比多數人安全了。
八、一個錯誤觀念
「Git 很難,是工程師的東西。」
Git 的完整功能確實複雜(rebase、cherry-pick、merge 衝突處理)。但上面那五個指令覆蓋了 AI 工具使用者絕大多數的需求,而且它們的作用可以一句話說清楚:讓你能復原。
你不需要成為 Git 專家。你需要的是在讓 Agent 改東西之前,知道自己有退路。
關於退路本身,Checkpoint(檢查點) 這個詞在 AI 工具語境下有另一層意思(工具自己存的狀態快照),跟 git commit 是兩回事但目的相同 —— 見 Checkpoint(檢查點)。
下一步
- Repository(儲存庫/repo) / Git(版本控制) / Commit(提交/快照) / Branch(分支) / Clone 與 Fork / Pull Request(PR/合併請求) —— 這六個詞的一句話定義
- AI Agent 到底看得到什麼 —— 為什麼工作目錄與權限決定了它的視野
- 裝完沒反應 —— clone 下來卻跑不起來的排查順序
- 開發環境設定 —— Git 通常在那一步一起裝好
- 你的第一個 Agent —— 實際用一次
More in Learn
- Complete LangChain Tutorial 2026: Building Enterprise-Grade LLM Applications from Scratch
- MemoryHub v2.0 System Architecture In-Depth Analysis: From Capture Daemon to MCP Real-Time Memory Capture
- May 2026 LLM API Pricing Landscape: Complete Comparison of DeepSeek, Qwen, GLM, Kimi, MiniMax, and Doubao
- Cross-Channel Memory Hub: A Full Record of the Memory System Architecture Design for OpenClaw Agent