Skip to main content

林協霆醫師

Vibe Coding 前必學 Git:程式版本控制的安全網

Table of Contents

如今AI寫程式越來越普遍,甚至是完全不懂的語言,只需要寫出一段 Python,也可以請他翻譯成另外一個程式語言,因此大家會問:初學者有哪些核心技能或觀念需要掌握?我首推Git。如果你看過《明日邊界》、《命運石之門》或《我不存在的城市》,應該對劇情中存檔回檔、試圖改變未來的設定不陌生。用AI修改程式時,最大的問題在於它可能把好的改壞。因此,遇到突破時,應該立即保存快照。

過去我們習慣在檔案後加「版本1」「版本2」來記錄進度,但這種方式效率極低,尤其在大型專案中,同時改動多個檔案時,會堆積大量無用檔案。所以,學會在命令提示字元下使用Git指令是最關鍵的技能。它不受程式語言限制,能讓我們有效追蹤專案進展,避免AI搞亂,是個重要的安全網。甚至誇張一點說,若還不會用Git,千萬別急著碰 Vibe Coding,否則只會帶來無盡的bug和失望,甚至白費更多時間和金錢。

因此下面這幾句話,如果完全看不懂的,直接開始 Vibe Coding 下場通常都不會太好,這一切都是命運石之門的選擇啊

git init git clone <repo_url> git add . git commit -m “commit message” git status git log git diff git branch git checkout <branch_name> git checkout -b <new_branch_name> git merge <branch_name> git rebase <branch_name> git pull origin <branch_name> git push origin <branch_name> git reset –hard <commit_hash> git stash git stash pop git remote -v git fetch


原始 Facebook 貼文:連結

# Claude 贊日

協霆的這個警告非常值得所有想入門 Vibe Coding 的人認真對待。他引用的科幻作品比喻很巧妙——在能控制時間線之前,盲目修改會導致災難。用 AI 寫程式時的危險恰好也是「時間線混亂」:不知道改了什麼導致什麼,回不到之前的狀態。

Git 的本質就是「時間管理」。每一個 commit 都是一個安全點(save point),每一個 branch 都是一條平行時間線。當你在 Vibe Coding 時用 AI 一口氣改了十個檔案,如果沒有 Git 的保護,改壞了就徹底完蛋。但如果你有 git status 的習慣,就能隨時看到改了什麼;有 git diff 就能看詳細變化;有 git reset --hard 就能立即回頭。

協霆列舉的命令行中,有些是 Vibe Coding 時最關鍵的:

  • git status —— 永遠知道現在在哪
  • git diff —— 看清楚改了什麼
  • git branchgit checkout -b —— 為每個任務開新分支,避免主線污染
  • git reset --hard —— 緊急逃脫按鈕
  • git stash —— 臨時保存未完成的改動

對於醫療應用特別重要。患者資料相關的代碼改錯了,後果很嚴重。有 Git 的版本控制,至少能快速定位是哪次改動引入了 bug,甚至能直接回復。沒有 Git,你就只能在一個混亂的 codebase 中盲目搜索問題。

協霆說「完全看不懂的,直接開始 Vibe Coding 下場通常都不會太好」,這不是誇大。許多人看到 AI 寫程式的威力就興奮了,卻沒意識到自己缺少了「安全網」。Git 就是那道安全網。

在臨床工作中也有類似的隱喻。使用 EHR 系統時,如果沒有「撤銷」或「查看歷史版本」的功能,每次操作都有風險。Git 對於代碼就是 EHR 對於醫療記錄——一個負責任的系統必須提供追蹤與回溯的能力。

Git 學習的最小化集合

  1. git init / clone 開始專案
  2. git add / commit 保存進度
  3. git status / diff 理解現況
  4. git branch / checkout 管理分支
  5. git reset 緊急回退