為什麼你需要 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)」。
- 在 Cursor 的左下角狀態列,你會看到目前的分支名稱(通常預設叫
main或master)。 - 點擊它,上方會跳出選單,選擇 Create new branch (建立新分支)。
- 為這個平行宇宙命名為
feature/ai-chat。
在這個名為 feature/ai-chat 的平行宇宙裡,你可以肆無忌憚地加上任何瘋狂的程式碼、隨便叫 AI 把資料庫連線砍掉重練。
- 如果測試大獲成功:你可以把這個平行宇宙的成果「合併 (Merge)」回主線宇宙
main。 - 如果測試大失敗、整個專案崩潰到無法挽回:你只需要動動滑鼠,切換回
main分支,然後把feature/ai-chat這個分支徹底刪掉。你主線宇宙的程式碼,完全不會受到一絲一毫的影響,依舊安穩地在線上幫客戶賺錢!
這就是為什麼資深工程師能夠在擁有數百萬行程式碼的巨型專案中,依然能大膽創新且每晚安穩睡覺的終極秘密。
🎉 結語與下一步行動
現在你的電腦裡已經建置好了一台完美的時光機。但就像我們前面說的,如果你只存在自己的筆電裡,萬一明天你不小心把咖啡打翻在筆電上、硬碟燒掉,你的時光機也會跟著灰飛煙滅。
在下一章中,我們將學習如何註冊 GitHub,把你的時光機存檔點,全部推上 (Push) 全世界最安全的雲端保險箱。 最刺激的是,我們還會教你如何使用 GitHub Pages / Vercel 這種超級隱藏福利,讓你「完全零成本、免付費租伺服器」,就能把你的靜態網頁作品集變成真實的網址,發送給全世界的潛在客戶看!準備好迎接雲端部署了嗎?我們馬上開始!