為什麼你需要 Git?沒有它,接案必死無疑

如果你曾經在大學時期做過幾個人的分組報告,你一定對電腦桌面上的這些檔名不陌生:

  • 期末報告_初稿.docx
  • 期末報告_修改版_給教授看.docx
  • 期末報告_最終版.docx
  • 期末報告_最終版_真的最後一版.docx
  • 期末報告_最後一版_打死不改_真的會交這版.docx

在寫大學報告的時候,這樣做頂多只是讓資料夾看起來很亂,佔用了一點硬碟空間。但在「現代軟體開發」與「百萬級程式接案」的殘酷世界裡,如果你的程式碼是用這種複製貼上資料夾的方式備份,你將面臨毀滅性的商業災難。

想像一下這個極度真實的接案情境: 你今天幫一個大客戶做了一個價值十五萬元的電商購物車網站。網站已經順利運作了兩個月,每天都有訂單進來。今天客戶突然打電話來:「工程師,幫我在首頁加一個會閃爍的促銷跑馬燈好嗎?很急,今天下班前要!」 你覺得這只是小事,興沖沖地打開原始碼,改了幾個元件。結果一存檔、一重整網頁——首頁跑馬燈出現了,但是購物車壞了,連會員登入也點不進去了。 你驚恐地按 Ctrl+Z 想要復原,卻發現你剛剛因為去泡咖啡,不小心把編輯器給關掉了,所有的復原紀錄全部人間蒸發! 這時候,客戶的網站處於癱瘓狀態,每一分鐘都在流失營業額,而你卻不知道剛才到底改壞了哪一行。這時候,你賠的不只是錢,還有你在業界的信用。

這就是為什麼全世界的軟體公司,都強制規定必須使用 Git (版本控制系統)。沒有 Git,你連當實習生的資格都沒有。


⏳ 認識 Git:程式碼的超級時光機

Git 是由發明 Linux 作業系統的神人 Linus Torvalds 所開發的超強工具。你可以把 Git 想像成是一台擁有「無限記憶容量的超級時光機」。

只要你的專案資料夾有啟用 Git 監控,它就會默默地在背景,像監視器一樣紀錄你每一個檔案、每一行程式碼、甚至每一個空白鍵的變動。 當你覺得今天的工作達到一個完美的段落時,你就可以對 Git 說:「幫我把現在的狀態拍一張快照 (Snapshot)」。Git 就會把這一秒鐘所有檔案的狀態,加上時間戳記,原封不動地永遠保存下來。

最神的是,如果明天你把網站改壞了,你只需要下達一個指令,Git 就能在 0.1 秒內,把整個專案的成千上萬個檔案,瞬間且精準地倒轉回昨天你拍快照的那一秒鐘。這就是資深工程師永遠不怕把東西改壞的絕對底氣。


🖱️ 捨棄黑畫面指令!Vibe Coding 的圖形化 (GUI) 操作法

如果你去 Google 搜尋 Git 的教學文章,十篇有九篇會叫你打開黑黑的終端機 (Terminal),然後像個駭客一樣開始教你打指令: git init -> git add . -> git commit -m "update layout" -> git status -> git log

對於非資訊背景、只想趕快做產品賺錢的人來說,這簡直是勸退神器。打錯一個字母就會跳出一堆看不懂的英文報錯。

在 Vibe Coding 的實戰哲學中,我們提倡:「能用滑鼠點擊解決的,絕不打指令。能讓 AI 寫的,絕不自己動手。」 請立刻拋棄那些駭客指令!現代最強大的編輯器 Cursor (以及 VS Code) 早就內建了極度直覺、美觀的「圖形化介面 (Source Control)」。

實戰步驟:圖形化介面的三大核心動作

打開 Cursor 編輯器,看著左側邊欄,你會看到一個看起來像「三個點由線連接在一起」的圖示,那就是 Source Control (原始碼控制) 的面板。 我們所有的日常版本控制,都只圍繞著這三個最核心的動作:

動作一:Stage (加入暫存區 / 把它丟進購物車)

  • 商業情境:你剛剛請 AI 幫你寫了一個新的 Login.jsx 檔案,並且修改了 styles.css。你測試過後覺得這兩個檔案改得不錯,準備存檔。
  • 操作:你會在 Source Control 面板看到 Login.jsx 旁邊有一個加號 +。點擊那個 +,這個檔案就會從 "Changes (未暫存)" 區塊跑到 "Staged Changes (已暫存)" 區塊。
  • 白話文解釋:這就像是你去大賣場,你把想買的東西放進購物車。放進去代表你「打算」買它,但還沒結帳,你隨時可以反悔把它拿出來(點擊減號 - Unstage)。

動作二:Commit (提交 / 結帳買單,正式存檔)

  • 商業情境:你的購物車已經放滿了今天修改的檔案,你準備要為這些修改建立一個「正式的時光機存檔點」。
  • 操作:在面板上方的文字輸入框中,輸入一段描述,例如:「新增了登入畫面的毛玻璃效果」。然後按下大大的 Commit 按鈕。
  • 白話文解釋:這就像是推著購物車去櫃檯結帳。結帳完成後,清單上就會永遠留下一筆名為「新增了登入畫面的毛玻璃效果」的時光機存檔點。

動作三:Vibe Coder 終極外掛 (AI 自動寫 Commit)

傳統工程師常常懶得寫 Commit 訊息,最後全部寫上 "update" 或 "fix bug",導致日後要搭時光機回去找問題時,看著滿畫面的 update,根本不知道哪個存檔點是什麼。

但在 Cursor 中,在 Commit 文字框的右上角有一個 ✨ 星星圖示 (Generate Commit Message)。 只要點下去,Cursor 底層的 AI 會瞬間掃描你剛剛改了哪些程式碼的邏輯,然後自動幫你寫出一篇「極度專業、條理分明、符合開源社群規範」的英文 Commit 訊息! 你唯一要做的,就是按下那顆 Commit 按鈕。這就是 AI 時代帶來的效率革命!


🔀 高階商業應用:分支 (Branch) 策略,在平行宇宙開發

在接案的過程中,你一定會遇到這種高風險的情況:「客戶原本的網站正在上線賺錢 (主線任務),但他要求你測試一個全新的 AI 聊天機器人功能 (極不穩定的支線任務)。」

如果你直接在原本的程式碼上測試,萬一壞掉就會影響到客戶賺錢,你會賠死。這時候就要使用 Git 裡最強大的魔法:Branch (分支)

開發平行宇宙:創建獨立的分支

你可以把專案想成是一條時間軸。你可以從今天這個時間點,分岔出一條「平行宇宙 (Branch)」。

  1. 在 Cursor 的左下角狀態列,你會看到目前的分支名稱(通常預設叫 mainmaster)。
  2. 點擊它,上方會跳出選單,選擇 Create new branch (建立新分支)
  3. 為這個平行宇宙命名為 feature/ai-chat

在這個名為 feature/ai-chat 的平行宇宙裡,你可以肆無忌憚地加上任何瘋狂的程式碼、隨便叫 AI 把資料庫連線砍掉重練。

  • 如果測試大獲成功:你可以把這個平行宇宙的成果「合併 (Merge)」回主線宇宙 main
  • 如果測試大失敗、整個專案崩潰到無法挽回:你只需要動動滑鼠,切換回 main 分支,然後把 feature/ai-chat 這個分支徹底刪掉。你主線宇宙的程式碼,完全不會受到一絲一毫的影響,依舊安穩地在線上幫客戶賺錢!

這就是為什麼資深工程師能夠在擁有數百萬行程式碼的巨型專案中,依然能大膽創新且每晚安穩睡覺的終極秘密。


🎉 結語與下一步行動

現在你的電腦裡已經建置好了一台完美的時光機。但就像我們前面說的,如果你只存在自己的筆電裡,萬一明天你不小心把咖啡打翻在筆電上、硬碟燒掉,你的時光機也會跟著灰飛煙滅。

在下一章中,我們將學習如何註冊 GitHub,把你的時光機存檔點,全部推上 (Push) 全世界最安全的雲端保險箱。 最刺激的是,我們還會教你如何使用 GitHub Pages / Vercel 這種超級隱藏福利,讓你「完全零成本、免付費租伺服器」,就能把你的靜態網頁作品集變成真實的網址,發送給全世界的潛在客戶看!準備好迎接雲端部署了嗎?我們馬上開始!