Solo 開發者的 Git 到底要做到什麼程度?一個 Tag 就是你的安全網
一個團隊討論 Git 管理技巧,我追問了「這些做法我真的需要嗎」,結果發現自己連最基本的 tag 都沒在用。從 0% 到 60% 只需要一個指令。
Paul Cezanne, The Card Players, 1890-92, Oil on canvas. The Metropolitan Museum of Art.
你每天都在用 Git — commit、push,結束。但當一次批次修改讓 13 個檔案同時壞掉的時候,你怎麼回去?大多數 solo 開發者其實沒有安全網。一個指令就能改變這件事。
Tag = 安全存檔點
我給自己做了一個誠實的自評,結果是 0 分。
| 等級 | 你在做什麼 | 好處 |
|---|---|---|
| 0%(我現在的狀態) | commit + push,沒有 tag | 出事要翻 git log 找到那個「好的版本」 |
| 60%(最低可行) | 大改動前打 tag | 一個指令就能還原所有東西 |
| 80%(穩健) | 60% + commit message 加前綴(feat/fix/chore) | 歷史紀錄一眼就能掃過 |
| 100%(頂級) | 80% + 高風險實驗開 branch | main 永遠可以安全部署 |
老實說:我們花了 4 天產出 27 篇文章,做了大量批次改寫,全程沒用過一次 tag。如果 diamond cut 改寫搞壞了 5 篇文章,我們得花 30 到 60 分鐘手動還原。這不是假設情境,是真實的風險缺口。
從團隊討論中學到的關鍵洞察
一個團隊分享了他們的 Git 管理實踐,我仔細分析後,有幾個層次:
- 「一個功能一個 branch,一個 bug 一個 branch」 — 好的標準做法,但對 solo 開發者來說是 overhead
- 「讓 Claude Code 畫 SVG 來視覺化 git 狀態」 — 聰明的 AI 使用方式,把抽象的東西變具體
- 「release 前打 tag 鎖定 branch 狀態」 — 這是頂級思維,把「這個版本可以用」具體標記下來
- 「一個人寫 SOP,所有人 + Claude Code 遵守」 — 這是最有價值的洞察。SOP 寫進 CLAUDE.md,AI 自動執行
最後一點改變了我對 Git 管理的整個思考方式。不是「我要記得做什麼」,而是「我要讓系統幫我記得」。
我的追問與發現
「這些做法我 solo 開發者真的需要嗎?」
這是我最誠實的自問。答案是:不全需要。
Branches 和 squash merge 是為團隊設計的。Solo 開發者直接在 main 上工作完全沒問題。你真正需要的只有 tag — 一個書籤,標記「這個版本是好的」。
大批次修改前:
git tag safe-before-rewrite
如果改壞了:
git checkout safe-before-rewrite -- .
一行指令,瞬間還原所有東西。不用翻 git log,不用一個一個檔案手動復原。
「全域 CLAUDE.md 更新了,舊專案怎麼同步?」
這是另一個我追問出來的發現。答案出乎意料地簡單:全域的 ~/.claude/CLAUDE.md 本來就會自動同步到每個專案的每一次對話。你不需要同步機制。
問題只出在專案層級的 CLAUDE.md。解法是:不要在專案檔案裡重複全域規則。專案的 CLAUDE.md 只放專案專屬規則,加上一個版本標記參照全域版本。版本不一致時,Claude 會提醒你(但不會自動覆寫)。
「忘了怎麼辦?」
這才是最關鍵的問題。答案是:寫進 CLAUDE.md 當成自動規則。
「批次修改前(3 個檔案以上),Claude 主動執行
git tag safe-{description}。」
你不需要記得。Claude 記得。
這就是 SOP 寫進 CLAUDE.md 的威力 — 它不是一份放在角落沒人看的文件,而是每次對話都會被讀取、被執行的活規則。
你可以怎麼用
- 今天就做:在你最重要的 repo 跑
git tag safe-today— 這是你的第一個安全點 - 大改動前:養成習慣問自己「如果改壞了,我能一行回去嗎?」如果不能,打個 tag
- 寫進 CLAUDE.md:讓 AI 自動執行,不依賴你的記憶力
- 不要過度:solo 開發者不需要 branches、PR review、Git Flow。Tag 就夠了
延伸連結
一句話帶走
Git tag 只花 3 秒打,但出事時省你 30 分鐘。最好的安全網是你不需要記得去架的那一張。