AI 改壞了也不怕:Git 版本控制 · 第 06 章

撤銷與暫存:三種後悔藥

還沒提交就反悔,用 restore 丟掉工作區的改動;已經提交的壞版本,用 revert 蓋一個反向提交安全退回;臨時要插隊,用 stash 把現場收起來。三種後悔,三種藥。

貓老闆的簡報

後悔是日常。會用這三帖藥,你就不怕讓 AI 動手——因為你隨時能反悔。

——貓掌櫃官網的老闆「掌櫃」下需求時的原話

這章做什麼

演練三種後悔場景:丟掉未提交的壞改動、安全退回已提交的壞版本、stash 暫存現場插隊修線上問題。

動手做

  1. 場景一:AI 剛改壞 CSS、還沒提交——git restore 把檔案丟回上次提交的樣子。
  2. 場景二:壞版本已經提交——git revert 做一個「反向提交」抵銷它,歷史不用改寫。
  3. 場景三:改到一半臨時要插隊——git stash 把現場收起來,修完插隊的事再 stash pop 回來。
  4. 記住紅線:reset --hard 與 force push 會改寫歷史,共享的分支上絕對不用。

親手試試

Revert「換首屏大圖」d9c4f02
換首屏大圖77e2b88
候補表單上線b8f1a30
商品區兩欄排版c41d908

點「Revert」那一格:它不是刪除,是一筆公開的反悔紀錄。

圖 C2-06 revert 之後的歷史:壞版本還在,但它的效果被一筆反向提交抵銷了。

這樣對 AI 說

中文就可以
三個情境,分別給我指令並解釋差別:一、你剛改壞了 CSS,還沒提交,我要把檔案回到上次提交的狀態。二、我已經提交了一個壞版本,歷史不能改寫,要安全退回。三、我改到一半,臨時要插隊修線上問題,現場得先收起來。每個情境給我:指令、會發生什麼、後果能不能反悔。最後提醒我哪些指令會改寫歷史、為什麼共享分支上絕對不能用。

問 AI「後果能不能反悔」是好習慣:會改寫歷史的指令,都值得多問一句。

安全習慣檢查

撤銷的安全習慣,核心是區分「丟掉自己的」和「改寫大家的」——前者自由,後者碰都不碰。

  • 未提交的反悔用 restore;已提交的反悔用 revert,不用 reset --hard
  • 共享分支上永遠不用 force push——那是改寫所有人的歷史
  • 插隊之前先 stash,修完 pop 回來;現場不留在工作區過夜

這章的相關詞條

詞條頁都有可以動的示範——卡住的時候,去把名詞弄清楚,回來繼續做。

進度只存在這台瀏覽器,不上傳、不追蹤。