Branch(分支)
又稱:分支 · git branch · main branch · 主分支 · git switch
從主線分出去的一條平行工作線。在上面怎麼改,都不會動到主線。
你會在什麼時候遇到它
讓 AI agent 在你的 repo 上做事時,第一個指令應該是叫它開一條 branch。讓 agent 直接在主線上改,等於把你的正式版當草稿紙給它;出錯時你要一個檔案一個檔案手工挑出哪些能留。開了 branch,最壞情況就是整條丟掉。
打個比方
像影印一份文件拿去塗改,原件鎖在抽屜裡。塗改的結果滿意,就把改動併回原件;不滿意,影印本直接丟掉,原件一個字都沒動過。
最小範例
git switch -c agent-try # 開一條新分支並切過去(舊寫法:git checkout -b)
git branch # 列出所有分支,前面有 * 的是你現在所在的這條
git switch main # 回到主線
git branch -D agent-try # 整條不要了,連上面的修改一起丟掉git branch 印出來前面有 * 的那條,才是你現在正在改的。很多「我的修改怎麼不見了」其實是人在另一條分支上,改動好好地待在那邊。順帶一提:你機器上的主線可能叫 main,也可能叫 master,先用 git branch 看清楚。
最常搞錯的地方
- 以為開分支很「專業」、自己用不到。分支的成本是一條指令,回報是你的主線永遠乾淨 —— 它正是給新手和給 agent 用的東西。
- 以為在分支上的修改會自動出現在主線。要合併(merge)才會;沒合併之前,兩條線互不相干。