大家好 🙌 我是好想工作室 Web Camp 學員 EO
歡迎來到鐵人賽《Git 起來!每日一招學起來》系列的第一天!
這 30 天,我會每天分享一個 Git 的指令、技巧或觀念
帶大家從新手到進階,一步一步掌握版本控制的祕訣。
今天,我們要從最基礎、也是最常被忽略的指令開始:git add
。
git add
?很多人第一次用 Git 都會疑惑:
我明明修改了檔案,為什麼還要多打一個 git add 才能 commit?
其實這是因為 Git 的工作流程分成三個區域:
所以 git add
的角色就是:
把你修改的檔案,先丟進購物車,準備結帳。
最常見的 git add
用法(Git 2.0 之後的行為):
# 把單一檔案放進暫存區
git add index.html
# 把所有修改過的檔案放進暫存區(只有當前目錄以下)
git add .
# 把所有檔案(包含刪除、修改、新增)都加入(整個 Repository)
git add --all
git add -A
# 只加入「修改與刪除」的檔案(不包含新檔案)
git add -u
📌 使用場景:
git add .
→ 適合只想加入當前目錄下的所有變更。git add -A
→ 最全面,建議大多數情況用這個,範圍是整個 Repository。git add -u
→ 適合只想更新(修改、刪除),但不想把新檔案加入。有時候我們不想一次把所有修改丟進 commit,這時候可以用 互動式選擇:
git add -p
p 是 patch 的縮寫,意思是「補丁」或「修改片段」。
這個指令會把檔案的修改分成一塊一塊(hunk)顯示出來,讓你逐一決定要不要加入。
🔎 範例:
@@ -1,3 +1,3 @@
- let name = "Sean";
+ let name = "Alex";
console.log("Hello " + name);
Git 會問你:
Stage this hunk [y,n,q,a,d,s,e,?]?
y
:yes 加入這一段n
:no 不要加q
:quit 退出a
:all 加入這一段和之後的所有修改d
:done 不加入這一段和之後的所有修改s
:split 拆更小的區塊e
:edit 進入編輯模式?
:help 顯示幫助(列出所有可用的選項和說明)👉 這個技巧超好用,可以避免一次 commit 一堆「測試中的垃圾修改」。
git add
。git add .
很方便,但小心會把 debug code 一起送進去。git add -p
只提交其中一部分。git log -p
查看,確認 commit 內容真的只有你選的部分。今天我們學到:
git add
就是「把東西放進購物車」git add .
和 git add -A
的差異在於「路徑範圍」git add -p
幫助你更精準控制 commit 的內容明天我們會聊到 Day 2:git commit
—— 按下結帳鍵,把購物車的東西送進歷史 🛒✨