MODULE 6 · 版本控制 · 6-2

Git 核心三部曲:工作區、暫存區與儲存庫(Commit & Push 的圖解生活化比喻)

上一課你知道 Git 會幫程式碼拍快照。這一課把鏡頭拉近, 看一張快照到底怎麼「拍」出來、又存去哪。

§1 · 大哉問

存個檔,為什麼要分三步?

先用一件你每天都在做的事來想:出門前整理行李。

🛏️
東西攤在床上
你的所有東西
🧳
挑要帶的放行李箱
這次出門要帶的
✈️
託運封箱
正式收好

Git 把「存一次檔」拆成三個地方:書桌、紙箱、倉庫。 接下來三段,我們一個一個看清楚。

§2 · 三個空間

書桌、紙箱、倉庫

點按鈕,送一個檔案走過這三個空間,先把空間感建起來。

🛏️
工作區(書桌)
空間一
📄首頁.html
🧳
暫存區(紙箱)
空間二
(空)
🏛️
儲存庫(倉庫)
空間三
(空)
🛏️
工作區(書桌)正在動手改的地方,亂七八糟很正常。改了什麼都還沒被記錄下來。
🧳
暫存區(紙箱)挑好、準備這次一起打包的東西放這。可以只挑一部分,不用全收。
🏛️
儲存庫(倉庫)封箱正式入庫的地方。進到這裡,就成了一張永久的快照。
§3 · 空間一:工作區(書桌)

你一改檔案,Git 馬上就發現了

改一行字看看,注意右邊那個檔案的變化。

首頁.html
<h1>
 歡迎來到我的網站
</h1>
🛏️
工作區(書桌)
你正在改的地方
📄首頁.html

「已修改」的英文是 modified。它只是說「這個檔被你動過」, 離真正存進倉庫,還有兩步。

§4 · 空間二:暫存區(紙箱)

挑出這次要一起打包的,放進紙箱

你改了兩個檔。試試看只把其中一個加進暫存區。

🛏️
工作區(書桌)
已修改、還沒挑
🧳
暫存區(紙箱)
這次要一起打包的
(空的,點左邊加進來)
注意:你可以只挑一個放進紙箱,另一個先留在書桌上。 這就是暫存區的價值:這次存檔要收哪些,由你決定。把檔案加進紙箱這個動作,指令叫 git add
§5 · 動作一:Commit(封箱入庫)

封箱、貼上標籤,蓋一個存檔點

把紙箱封起來送進倉庫,並寫一句『這次改了什麼』。

🧳
暫存區(紙箱)
準備封箱
📄首頁.html
這個「封箱入庫」的動作就叫 commit,你寫的那句話叫 commit message。 一個 commit 就是一張快照。指令長這樣(先看看就好):git commit -m "把首頁標語改成 AI 商店"
練習:你剛修好「手機版選單點不開」的 bug,下面哪個 commit 訊息最好?
§6 · 空間三:儲存庫與歷史

一個 commit 接一個,就串成你的歷史

點任一張快照,看當時網站長什麼樣,還能一鍵跳回去。

這就是當時的樣子:
我的 AI 商店登入
🛒 購物車
標語換成「我的 AI 商店」。
這是最新的一版,你現在就在這裡。

這個倉庫,正式名稱叫儲存庫(repository),大家常簡稱 repo。 你的每一次 commit 都在這裡排成一條歷史,想跳回哪一張快照都行。

§7 · 動作二:Push(同步到雲端)

把整個倉庫,複製一份到雲端

目前你的歷史只活在這台電腦。按一下,讓雲端也有一份。

🏛️
本機倉庫
你的電腦
📄3 張快照
☁️
雲端倉庫
網路上的備份
(還沒同步)
把本機倉庫同步到雲端的動作叫 push。 至於雲端那個家叫什麼、怎麼開、為什麼要設成私人的,下一課就揭曉。
§8 · 完整走一遍

改檔 → add → commit → push,一條龍

按「下一步」,看同一個檔案怎麼一路被送進雲端。

🛏️
工作區
📄首頁.html
🧳
暫存區
🏛️
倉庫
☁️
雲端
(在編輯器裡改檔)
你在書桌上改好了 首頁.html。
§9 · 進階:分支

分支:讓你安心大膽地讓 AI 亂改

開一條支線在上面實驗,正在運作的主線永遠安全。

main 主線
分支(branch)就是主線的一個分身:在上面你想怎麼讓 AI 大改都行。 這是 Vibe Coder 的安全網:大膽實驗,零風險。正在跑的主線(通常叫 main)一點事都沒有。
§10 · 試試看

快速檢查一下

答錯不會鎖死,可以一直重選。

答對 0 / 2
Q1

你改完一個檔案,想存成一個存檔點。正確的順序是?

Q2

commit 時寫的那句訊息(commit message),主要是寫給誰看的?

🎒這一課帶走的
工作區暫存區儲存庫commitpush

一張快照,是這樣一路送進去的:在書桌改、挑進紙箱(add)、 封箱進倉庫(commit),再同步到雲端(push)。 你不用背指令,但要懂這條路,才能跟 AI 講清楚你想做什麼。

🔑VIBE CODER 秘訣
👀觀察
你會請 AI 幫你 commit,所以要懂「一個 commit = 一件完整的事」,訊息寫清楚。
💬怎麼跟 AI 講
大改一段落就說:「幫我把這次的修改 commit,訊息寫『加好購物車功能』,然後 push 上去。」
下一課 push 推去的那個雲端的家,就是 GitHub。我們來建第一個雲端倉庫,順便看為什麼一定要設成 Private。