iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
Modern Web

Git 起來!每日一招學起來系列 第 7

Day 7:git branch —— 認識平行時空

  • 分享至 

  • xImage
  •  

前五天我們學會了:

  • git add(放進購物車)
  • git commit(按下結帳鍵)
  • git status & git log(GPS 導航)
  • git diff(放大鏡檢查差異)
  • git reset & git restore(後悔藥)

這些都是在「單一路線」上前進。

但是現實專案中,你不可能只走一條路

例如:

  • 你在開發新功能,但突然要修一個 bug
  • 你想嘗試不同的方案,還不確定要不要保留
  • 團隊中每個人都在做不同的東西,但最後要合併

這時候,Git 的祕密武器就出場了:分支(branch)


為什麼需要分支?

想像你在寫小說 📖,你可能有一個主線劇情,但同時腦中還想試試不同的支線:

  • 如果主角在第一章就死了會怎樣?
  • 如果反派最後洗白會怎樣?

你不會在同一份檔案裡亂改,而是會 複製一份檔案,平行創作

等到確定要保留其中一條劇情,再把它合併回主線。

Git 分支就是這個概念:

  • 主線(main):專案穩定的進度
  • 支線(branch):你可以在上面隨意嘗試,不會影響主線

分支就像平行時空,你可以同時存在多個版本的專案。


基本指令

查看目前有哪些分支

git branch

🔎 範例輸出:

* main
  feature/login
  fix/button-style
  • 表示你目前所在的分支
  • 這裡代表你在 main 分支,還有其他兩個支線

建立新分支

git branch 新分支名稱

範例:

git branch feature/cart

👉 這會建立一個叫 feature/cart 的分支,但你還在原本的分支上(例如 main)。


切換到分支

(先預告一下,明天會專門聊 git switch,今天只提最基礎的 checkout

git checkout feature/cart

這樣就切換到 feature/cart,接下來的修改都會記錄在這個分支。


建立並切換(一步完成)

git checkout -b 新分支名稱

範例:

git checkout -b feature/payment

這會同時建立 feature/payment 分支並切換過去。


刪除分支

git branch -d 分支名稱

範例:

git branch -d feature/cart

👉 如果該分支還沒合併,Git 會阻止你刪除(避免誤刪)。

👉 如果真的要強制刪掉,可以用 -D


分支的用途

  1. 功能開發:每個新功能一個分支(feature/xxx
  2. Bug 修正:緊急修復用 fix/xxx
  3. 實驗測試:想嘗試的點子,不影響主線

分支讓專案乾淨有序,不會因為每個人都在 main 上開發而互相打架。


常見錯誤

  1. 忘記切分支就開發
    • 結果功能跟 bug 修正全都混在 main 裡
  2. 分支命名隨便
    • 例如叫 test123,幾天後自己都看不懂
    • 建議用 feature/loginfix/cart-bug 這種格式

小挑戰 💪

  1. 建立一個叫 feature/profile 的分支,並切換過去。
  2. 修改一個檔案,提交 commit。
  3. 回到 main 分支,確認檔案內容跟剛剛修改的不同。

小結

今天我們學到:

  • 分支 = 平行時空,可以同時進行不同的開發
  • git branch 可以查看、建立、刪除分支
  • git checkout -b 可以一步完成建立並切換

明日預告

明天我們會深入學 Day 8:git switch & git checkout —— 穿梭不同時空 🌀

讓你學會在分支之間來回切換,就像自由穿梭多重宇宙!


上一篇
Day 6:.gitignore —— 別讓垃圾檔案跟你回家
下一篇
Day 8:git checkout & git switch —— 穿梭分支與檔案版本
系列文
Git 起來!每日一招學起來9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言