5. 段落小節 – 日常工作流

1. 全指令對照

🌍 基礎開拓:本地初始化與雲端連結

  • git init
    • 意義: 在目前的資料夾呼叫時光機,初始化一個全新的本地 Git 儲存庫。
  • git branch -M main
    • 意義: 將本地的預設主分支名稱正名為 main(與 GitHub 雲端同步)。
  • git remote add origin [網址]
    • 意義: 告訴本地 Git 遠端總倉庫(origin)的 GPS 地址在哪裡。

📦 日常打包:記錄進度與修補

  • git add index.html
    • 意義: 把「特定檔案」(如 index.html)放進暫存區(準備裝箱)。
  • git add .
    • 意義: 把目前資料夾下「所有有變動的檔案」一次全部裝箱。
  • git commit -m "你的訊息"
    • 意義: 幫這次的箱子貼上出貨標籤(寫下紀錄訊息),正式建立一個時光紀錄點。
  • git rm --cached [檔名]
    • 意義: 【緊急救援】把不小心裝錯箱的檔案從 Git 追蹤清單中剔除,但本地電腦的實體檔案依然保留。

🚚 物流搬運:本地與雲端的生死同步

  • git clone [網址]
    • 意義: 複製整座雲端倉庫。通常是用在換新電腦、或加入新專案的第一天,把雲端程式碼和歷史紀錄原封不動下載下來。
  • git fetch
    • 意義: 專門用來「打探敵情」。只把雲端的最新紀錄抓下來看,但絕對不會亂動你本地正在寫的檔案。
  • git pull
    • 意義: 正式收割。把雲端最新的進度抓下來,並且直接自動合併到你本地的檔案裡(Pull = Fetch + Merge)。
  • git push -u origin main
    • 意義: 【第一次大發車】把本地 main 分支的進度推上雲端,並用 -u 設定好預設導航。
  • git push
    • 意義: 之後日常送貨。因為設定好了導航,直接輸入 git push 就會自動把進度送到對應的雲端分支。

🌌 時空穿梭:Branch 分支操作

  • git branch
    • 意義: 照鏡子。檢查目前專案有哪些平行宇宙(分支),以及自己正身處在哪一個(有 * 號者)。
  • git checkout -b feature/cart
    • 意義: 撕裂時空。建立一個名為 feature/cart 的新分支,並直接切換過去。
  • git checkout main
    • 意義: 時空跳躍。瞬間切換回既有的 main 主線宇宙。
  • git merge feature/cart
    • 意義: 宇宙融合。站在 main 的立場,把 feature/cart 平行宇宙的研發成果吞進來合併。
  • git push origin feature/cart
    • 意義: 分支備份。把本地的 feature/cart 分支單獨推上 GitHub 雲端備份或分享給同事。

2. 工作流

光背指令沒用,我們把這些指令串起來。想像你今天進公司上工,標準的動作流程長這樣:

這些指令皆可直接操作於VSCode的終端機,且通常左側會出現git icon。

🌅 早上 09:30 —— 開工起手式

一到公司,第一件事絕對不是直接寫 Code,而是先拉取團隊昨晚有沒有更新:

git checkout main
git pull

👨‍💻 中午 11:00 —— 接到新任務(開發購物車)

不能在主線亂搞,立刻開闢平行宇宙:

git checkout -b feature/cart
# 開始快樂地寫程式碼、修改檔案...
Code language: PHP (php)

☕ 下午 15:00 —— 寫好一個階段,存檔打包

寫到一半,隨手 Commit 存檔是好習慣:

git add .
git commit -m "feat: complete cart UI design"
Code language: JavaScript (javascript)

🏢 下午 17:00 —— 功能開發完畢,準備合併並送貨

功能在分支測試都通過了,切回主線並合併:

注意! 在第六章我們會說到PR (MR),如果你的專案是與他人協同開發,請略過這步驟,切勿自行切換至main進行Merge !

git checkout main
git merge feature/cart

確認沒問題後,風光地推上 GitHub 下班!

如果是協同開發,這步驟請改成 git push origin <branch-name>

git push

本章小結

這 15 個指令,是你行走 Git 江湖的核心。建議你可以把這篇文章加入書籤,以後只要在終端機卡住,隨時切回來像查字典一樣看一眼,你就能立刻找回節奏。

接著下一章,我們就要正式進入協同開發的世界了,來聊聊,如何在多人開發時還維護專案的品質呢? – PR 、 MR