翼王資訊社

知識分享 · Vibe Coding

不會寫程式也要懂的 Git:AI 問你「要不要 commit?」時,它到底在問什麼

commit 是遊戲存檔、push 才是上傳、branch 是平行時空、worktree 是第二張辦公桌。用一個「AI 做記帳軟體」的故事,把 Vibe Coder 每天被轟炸的十個名詞一次講成人話。

翼王資訊社 · 知識分享 2026-08-25

Step 00 · 場景

你一定遇過這個時刻

如果你沒有程式背景、最近卻迷上了用 AI 寫程式(所謂的 vibe coding),你絕對遇過這種狀況:Claude 或 Cursor 突然問你 ——「要不要 commit?」「要不要開個分支?」「要不要發個 PR?」這些聽起來像外星文的術語,背後全指向同一個東西:Git。

這支影片的立場我們非常認同:這個時代你不需要背 Git 指令,但一定要聽得懂這些名詞在問什麼 —— 因為 AI 會動手,你只要會做決策。影片用一條故事線講完全部:Gary 心血來潮,打開 Claude Code 請 AI 做一個記帳軟體……

Step 01 · 分清楚

GitHub 是雲端倉庫,Git 是存檔系統

AI 把第一版畫面做出來了,Gary 想:這些程式放哪?總不能只留在這台電腦裡。有沒有像 Google Drive 一樣的東西?—— 有,就是 GitHub:程式碼專用的 Google Drive,工程師把程式碼放上去,有權限的人都能看、能一起編輯。

但 GitHub 跟 Google Drive 有個關鍵差異:它不收「單純的檔案」,只收「有版本紀錄的專案」。什麼是版本紀錄?想想你寫報告的資料夾:「報告v1」「報告最終版」「報告打死不改版」—— 那就是土法煉鋼的版本紀錄。而幫程式碼自動做這件事的工具,就是 Git。

先記住這一組就好:GitHub 是雲端儲存與協作的網站;Git 是你電腦裡管版本的工具。AI 說要跑 git init,意思只是「請 Git 開始追蹤這個資料夾的所有變動」。為什麼非要它不可?因為 AI 可能把好好的程式改壞 —— 沒有 Git,你不知道它動了哪些檔案、也回不去;有了 Git,隨時能回溯到上一個正常的樣子。
Step 02 · 基本功

commit・push・pull・clone:一張圖看懂

Gary 好不容易把登入頁面做出來了,想「先存個檔,萬一 AI 之後改壞還能退回來」—— 這個念頭對應的動作就是 commit:像打大魔王前手動存檔,把現在這個正常狀態永久封存成一個檢查點。之後 AI 就算發瘋把程式全刪了,都能瞬間還原。

最容易搞混的觀念:commit 不是上傳。它只是在你自己電腦裡存檔;真的把存檔推上雲端的動作叫 push。朋友想加入開發,用 clone 把整個專案(連同版本紀錄)抓下來;朋友推了新進度,你用 pull 把最新版拉回自己電腦。

GitHub(雲端倉庫) origin/main:專案的官方正式版 你的電腦(local) 工作資料夾 ←→ Git 版本紀錄 commit = 在這裡存檔(不是上傳) 朋友的電腦 第一次加入 → clone 整包抓下來 (Download ZIP 沒有版本紀錄,不算) 之後一樣 commit → push、pull push ↑ pull ↓ clone(第一次) pull ↓

合作的基本循環:clone 一次,之後 commit(存檔)→ push(上雲端)→ pull(同步別人的進度)。

順帶破譯 AI 常吐出的那句咒語 ——「push 到 origin main」:remote 是遠端(相對於你電腦的 local)、origin 通常就是你在 GitHub 上的那個專案、main 是專案的官方正式版。整句翻成白話:「把現在寫好的正式版本,傳到雲端的專案資料夾裡」。就這樣。

Step 03 · 保命

push 之前:金鑰千萬不能上傳

Gary 的記帳軟體裡藏了一把串接金流的 API 金鑰 —— 把它想成你家大門的鑰匙。程式改壞了都還有救,但金鑰跟著 push 上 GitHub,等於把鑰匙公開貼在網路上,任何人都能撿去用,甚至盜刷你的帳。而且外洩了就救不回來,只能整把作廢重新申請,像信用卡被盜刷只能掛失補發。

解法是一個叫 .gitignore 的檔案:告訴 Git「這些檔案不要追蹤、絕對不要上傳」。你不用背哪些該擋,push 之前直接跟 AI 說一句:「幫我確認 env 檔、密碼和各種金鑰都已經放進 gitignore,絕對不要 commit 上去」就可以了。這句話值得抄下來。
Step 04 · 分身

branch 與 worktree:辦公桌的比喻

Gary 要開發大功能(加資料庫)了。他不敢直接在穩定的 main 上動手 —— 因為 AI 寫複雜功能不會一次就對,會反覆試錯;試錯期間你的程式一直處於半壞狀態,朋友突然想看 demo、或要緊急改個錯字,你就尷尬了。你可能想:「我會 commit 了啊,改壞退回去不就好?」—— 問題是試錯期間的每一步都髒在 main 上,門面沒有一刻是好的。

所以要開 branch(分支)。影片的比喻很妙:你的專案資料夾是一張神奇辦公桌,branch 是桌邊的平行時空切換按鈕 —— 按下 main,桌上是穩定版;按下功能分支,桌上瞬間換成開發中的草稿。草稿被 AI 改爛了?整條分支刪掉、切回 main,main 毫髮無傷。

branch:一張桌子切換時空 神奇辦公桌(你的資料夾) 同一時間只能顯示一個時空 🔘 main 穩定版 🔘 新功能草稿 ✗ 兩個 AI 同時用一張桌子: 為了搶顯示狀態大打出手, commit 全部混在一起 worktree:再買一張實體桌子 桌子 1(資料夾 A) Agent A · 資料庫分支 桌子 2(資料夾 B) Agent B · 介面分支 同一個 Git 記憶庫 ✓ 各司其職、平行開發,效率拉滿 Vibe Coder 同時開多個 AI 的必備品

一張桌子切時空(branch)不夠用時,就再買一張桌子(worktree)。

worktree 是新時代的產物:以前工程師一次專心做一件事,很少用它;現在你可能同時開兩三個 AI Agent 平行做事 —— 一個做資料庫、一個改 UI —— 硬讓它們共用一個資料夾會出亂子。跟 AI 說「開一個新的 worktree」,它就會在電腦裡生出一個全新的獨立資料夾(第二張實體辦公桌),兩張桌子連著同一個 Git 記憶庫,各改各的、互不干擾。

Step 05 · 收成

PR、merge 與 conflict:交作業與吵架調解

功能寫完了,合併回 main 之前想先給朋友檢查 —— 這個動作叫開 PR(Pull Request,改動提案)。你也不用自己動手:跟 AI 說「幫我把這條 branch 開一個 PR,說明做了什麼、改了哪些檔案、怎麼測試」,它就會把提案整理得清清楚楚。大家審過沒問題,在 GitHub 按下 merge,雲端的 main 就正式更新。

新手最大誤會:你電腦裡的程式不會「通靈」自動同步。合併發生在雲端,你在編輯器裡看到的永遠是本機當下的狀態。每次有新功能併進 main,記得切回本機的 main、叫 AI 再 pull 一次 —— 不然你會一直活在過時的舊版本裡,下次開的分支也是從舊進度出發。

合併時有時會遇到 conflict(衝突):同一段程式碼出現了兩個版本,Git 不知道聽誰的。現在的 AI 工具會自己分析兩邊要幹嘛,用三種方式處理:二選一(一邊明顯較新或修了 bug)、兩邊都留(其實只是各自新增不同項目,Git 太死板誤判成衝突)、打掉重寫(硬拼會出錯,就看懂雙方目的後重寫那一段)。但如果兩邊在產品邏輯上真的互斥,AI 會卡住 —— 這時你要做的不是下去改程式,而是給出產品決策:「以朋友的邏輯為主,但把我的理財分類移到進階選單」。方向講清楚,AI 就能把衝突接合起來。

Step 06 · 救援

改壞了怎麼救:restore 與 revert

Vibe Coder 每天最怕的時刻:AI 把程式改壞了。分兩種情境:

  • 還沒 commit → 用 restore:一鍵讀檔,回到上一個存檔點,當作剛剛的事沒發生過。
  • 已經 commit 了 → 用 revert:注意它不是偷偷刪歷史,而是新增一個「反向的 commit」把錯誤抵消掉 —— 協作時特別安全,因為所有人都看得到「加錯了、又被抵消」的完整過程,不會覺得進度憑空消失。

最棒的是這些你都不用背:發現改壞時直接跟 AI 說「剛剛這次的改動我不要了,幫我回到上一個正常的版本」,它會自己判斷該用哪一招。

Step 07 · 速查

名詞對照表

十個名詞的白話對照。記不住指令沒關係,聽得懂就能指揮。
名詞白話你可以跟 AI 說
Git/GitHub本機存檔系統/雲端程式倉庫「幫我設定 Git,然後把專案放上 GitHub」
commit打魔王前的手動存檔(在本機)「這版測試沒問題,幫我 commit,訊息寫清楚改了什麼」
push/pull把存檔推上雲端/把雲端最新版拉回來「push 前先確認金鑰都在 gitignore 裡」
clone整包抓下來加入專案(≠ Download ZIP)「幫我 clone 這個專案」
branch平行時空:草稿與正式版井水不犯河水「開一條新 branch 做這個功能,絕對不要動到 main」
worktree第二張實體辦公桌,多個 AI 平行做事用「開一個 worktree 讓另一個 agent 改 UI」
PR/merge改動提案送審/審完正式併入 main「把這條 branch 開成 PR,寫清楚怎麼測試」
conflict同段程式兩個版本,Git 在等你的產品決策「解掉 conflict,邏輯以他的為主、我的分類移到進階選單」
restore/revert沒 commit 的一鍵讀檔/已 commit 的反向抵消「剛剛的改動我不要了,回到上一個正常版本」

互動實驗室:AI 這句話在問什麼?

AI 丟出這些問題時,它其實在問你一個決策。點選看白話翻譯:

載入中……

參考與引用來源 (References & Sources)

  • 1. 原影片來源 (Original Video) 影片標題:給非技術人員的 Github 教學,Vibe Coding 必學的基礎技能|頻道:Gary Chen|片長 19:16|2026-07-15 上傳。本文為該影片內容的改寫與整理,逐字稿取自原生 zh-TW 字幕。 https://www.youtube.com/watch?v=atqcAb7MFAM
  • 2. GitHub 本文的主角之一。註冊免費,個人專案可設私人(private)不公開。 https://github.com/
  • 3. Git 官方網站 版本管理工具本尊。看得懂本文的概念,官方文件就只是查細節用。 https://git-scm.com/

MORE

全部 21 篇文章 →  ← 回首頁