開發與網路

Git 版本控制是什麼?讓你隨時回到還能動的那一版

Git 是目前最通用的版本控制系統。它會記錄專案裡每一次修改,讓你隨時看得到「誰在什麼時候改了什麼」,也隨時回得去先前任何一個版本。它還提供分支功能,讓不同的人或不同的想法各自在自己的線上開發,做完再合併回主線。對於用 AI 寫程式的人來說,它最大的價值很單純:改壞了有得救。
Git 版本控制是什麼?讓你隨時回到還能動的那一版:文章重點卡

Git 版本控制是什麼?讓你隨時回到還能動的那一版

資料夾裡躺著「最終版」「最終版2」「真的最終版」,這是每個人都有過的階段。問題是三天後你認不出哪一份能動。

Git 就是把這件事做對的工具。尤其當你讓 AI 大幅改動程式時,它是你唯一的退路。

你將學到什麼

定義

記錄每次修改、可回退、可分支的版本控制系統。

白話比喻

遊戲的存檔點。打壞了就讀檔重來,不用整局重玩。

三個核心動作

提交一個版本、開分支各做各的、合併回主線。

為什麼跟 AI 有關

AI 一次改十幾個檔案,沒有版本控制你分不清它動了什麼。

定義

Git 是記錄專案每一次修改的版本控制系統。你可以查歷史、比對差異,也可以回到任何一個先前的版本。

它的工作單位叫做提交。每次提交等於存下一個完整的狀態,並附上一句你寫的說明,說明這一版改了什麼。

白話比喻

像遊戲的存檔點。你在每個階段存一次,打到後面發現路線走錯,讀檔回去就好。

分支則像是同一個存檔開出兩條平行世界。一條走保守路線,一條試瘋狂的玩法,哪條好就留哪條,另一條丟掉也不心疼。

三個最常用的概念

概念在做什麼什麼時候用
提交把目前的狀態存成一個版本,附上說明完成一個可運作的小段落時
分支從主線岔出一條線獨立開發要試新做法、或多人同時進行時
合併把分支的修改併回主線分支上的東西確認可用之後

還有一個常被忽略的動作是回退:把某一次改壞的提交撤掉,回到上一個好的狀態。這是它最救命的功能。

實際用例

Vibe Coding 的時候尤其重要。AI 一次可能改動十幾個檔案,沒有版本控制,你根本不知道它動了什麼,也回不去還能跑的那一版。

習慣上是:每完成一個能動的小功能就提交一次,說明寫清楚。之後的 部署CI / CD 流程也都是接在 Git 上跑的。

常見誤解

最常見的誤解是以為提交了就等於備份好了。提交只存在你自己的電腦上,要推上遠端平台才算有第二份,這一步沒做,硬碟壞掉一樣全沒了。

另一個誤解是把它當成純工程師的工具。它的本質是「有紀錄、可回頭」,任何需要反覆修改的工作都受用。

本文源起本文為酒Ann 的 AI 名詞彙編系列,用白話把常見名詞一次講清楚。歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

Git 跟 GitHub 是同一個東西嗎?
不是。Git 是跑在你電腦上的版本控制系統,沒有網路也能用;GitHub 是放 Git 專案的線上平台,負責備份、協作、權限與流程。可以把 Git 想成相機,GitHub 想成雲端相簿,兩者常一起用但不是同一件事。
分支是拿來做什麼的?
讓你在不影響主線的情況下試東西。開一條分支去改,改壞了直接丟掉,主線完全沒事;改好了再合併回去。多人協作時每個人各開各的分支,才不會互相蓋掉對方的修改。
只有工程師需要嗎?
不一定。任何會不斷修改、而且需要回頭比對的文字工作都適用,例如網站內容、提示詞、設定檔、文件。它對純圖片或影片這種二進位檔案幫助有限,因為看不出兩版之間差在哪。