Claude Code 改壞怎麼辦?Rewind 倒帶教學與實測限制
文 / Coolkid發布:2026-07-26 · 最後更新:2026-08-11閱讀約 7 分鐘

短答給趕時間的人:Claude Code Rewind 是內建的後悔藥,按 Esc 兩下(或輸入 /rewind)就能還原程式碼,把 AI 改壞的東西倒帶回去。它在你每次送出一句話之前自動幫專案存檔,不用會 git、不用事先設定。倒帶時可以選:只回檔案、只回對話,或者兩個一起。但有些東西倒不回去,像已經推上線的、terminal 指令做過的事。我實測過:倒帶了對話,推出去的更新原封不動留在線上。
會認真研究這功能,是因為我常遇到一種場景:同一件事想讓 AI 試好幾種做法。
最近一次是幫股票數據站做「籌碼分佈」圖表,同一份數據,前後試了 5 種畫法給主理人挑。
當時我還不知道有 rewind。
走的是另一條路:用 git(工程師的版本存檔工具)自己設存檔點。
這禮拜把官方的 rewind 完整玩了一遍。
這篇講怎麼用、哪些東西救不回來,以及跟我原本那條路的誠實對照。
Rewind 是什麼?跟 Ctrl+Z 差在哪?
rewind 的邏輯一句話就講得完:Claude Code 在你每次送出指令之前,都會自動幫專案拍一張快照。
所以你隨時可以「回到我下第三個指令之前的樣子」,不用事先做任何設定,存檔是全自動的。
叫出來的方式有兩種。
連按兩下 Esc,或輸入 /rewind,會出現一排時間點讓你挑。
跟你熟悉的 Ctrl+Z 差在哪?差在範圍。
Ctrl+Z 救的是「剛剛打錯的字」,rewind 救的是「AI 這一輪動過的所有檔案」,它可能一口氣改了八個檔,你不用一個一個救。
倒帶時還能選要回什麼:只回檔案(對話繼續)、只回對話(檔案保留),或者兩個一起回。
我最常用的是只回檔案。
程式回到改壞之前,但 AI 還記得剛剛的討論,你可以接著說「剛剛那樣不行,換個方式」。
白話比喻:rewind 是電玩的自動存檔點,打輸了讀檔重來,而且存檔是系統自動幫你按的,你只管衝。
我的真實場景:同一份數據,5 種畫法給主理人挑
先講我還不知道 rewind 時的做法。
場景是股票數據網站的「籌碼分佈圖」,把每天哪些券商據點在什麼價位買賣了多少,畫成一張圖。
同一份數據,呈現方式有很多種,主理人要親眼看到才挑得下去。
我前後做了 5 種:泡泡圖、成本震波圖、鏡像莖圖、價位帶對開圖、疊在 15 分 K 線上的進場位置圖。
當時的做法是用 git 自己設存檔點:每做完一版存一次,要看上一版就跳回去。
最後主理人挑了震波圖。
專案紀錄裡到現在還留著那筆「成本圖回震波」的存檔,整趟試錯路徑全部有跡可循,而且每一版都永遠留著、隨時能並排比較。
代價是你要會 git,而且要記得「先存檔再試下一版」,忘記存,那一版就被蓋掉了。
如果那時有 rewind,同一件事可以更省力:試一版、倒帶、試下一版,存檔點系統自動幫你設。
但「更省力」不等於「更好」。差別在下下段講。
實測:哪些回得去,哪些回不去?
這禮拜實測時,我特地做了一個實驗:到底哪些東西回得去?
把對話倒帶回幾個指令之前,然後看哪些東西真的回去了。
結果是對話回去了、電腦裡的檔案也回去了,但已經推上線的那次更新一個都沒少,網站顯示的還是新版。
| 東西 | 倒帶救得回嗎 |
|---|---|
| AI 改過的檔案(還在你電腦裡) | ✅ 回得去 |
| 對話紀錄 | ✅ 回得去(可選) |
| terminal 指令做過的事(裝套件、刪檔案) | ❌ 回不去 |
| 已經推上線 / 部署出去的東西 | ❌ 回不去 |
| 資料庫裡被改掉的資料 | ❌ 回不去 |
所以 rewind 的守備範圍要記清楚。
rewind 管的是「AI 在你電腦裡動過的檔案」。
東西一旦離開你的電腦(推上線、進資料庫),或者是 terminal 指令的副作用(裝了套件、刪了檔案),就超出能倒帶的範圍。
實務上的保命習慣只有一條:改壞的當下先別急著推上線。
還沒推上去,幾乎什麼都救得回;推了,就要走別條路。
兩條路誠實對照:事前斷點 vs 事後倒帶
| 事前斷點(git) | 事後倒帶(rewind) | |
|---|---|---|
| 要先學東西嗎 | 要會 git 基本操作 | 零門檻,內建 |
| 要記得存檔嗎 | 要,忘了存就被蓋掉 | 不用,每個指令前自動存 |
| 能跳到哪 | 你設過存檔點的位置 | 任何一個指令之前 |
| 存檔活多久 | 永遠(專案紀錄的一部分) | 對話範圍內的短期後悔藥 |
| 適合場景 | 每版都要留、給客戶挑、做好幾天 | 一場對話內的快速試錯 |
兩條路到底哪一條比較好?誠實說,我現在還講不出孰優孰劣。
這是兩條不同的路,不是新的取代舊的。
我的暫行判斷法是這樣。
一場對話裡的探索,像試個做法、改個樣式,用 rewind,零成本隨時反悔。
要把每個版本都留下來給人挑、或這件事會做好幾天,git 斷點不可取代,因為 rewind 的存檔點不是為「長期保存多個版本」設計的。
給新手的順序建議很簡單。先用 rewind。
它讓你在還不會 git 的階段就敢放手讓 AI 改東西,反正倒帶不用錢。
等哪天你發現自己需要「同時留著五個版本給別人挑」,再學 git 也不遲。
工具的意義是讓你敢動手,不是逼你先上課。
rewind 是 Claude Code 本來就有的倒帶機制:每次下指令前自動存檔,連按兩下 Esc 或輸入 /rewind 就能回去,可選只回檔案、只回對話、或兩個一起,零設定、不用會 git。守備範圍是「AI 在你電腦裡動過的檔案」;terminal 副作用(裝套件、刪檔)、已推上線的更新、資料庫資料都回不去(實測:倒帶對話後,推上線的東西原封不動)。跟 git 斷點是兩條路:git 事前設存檔、每版永遠留著,適合給客戶挑版本、跨天專案(我做 5 種籌碼圖給主理人挑就是走這條);rewind 事後隨時倒,適合對話內快速試錯。新手先用 rewind 敢動手,需要長期留版本再學 git。保命習慣一條:改壞當下先別推上線。
名詞解釋
- Git
- 程式碼的版本紀錄系統:每次改動存成一個「存檔點」(commit),隨時可以回溯、比對、還原,不怕改壞。
- 提交(commit)
- Git 的一個存檔點:把這次改動連同一句說明記錄下來,之後隨時可以回到這個版本。
- 終端機(terminal)
- 「用文字指令操作電腦的視窗」的統稱。Mac 叫 Terminal,Windows 上就是 PowerShell,兩者角色相同。
- 部署(deploy)
- 把做好的網站或程式「推上線」讓所有人用得到的動作。
- 命令列(CLI, Command Line Interface)
- 用打字指令操作電腦的方式,沒有按鈕跟視窗。Claude Code 就是命令列工具。
常見問題FAQ
Claude Code 把程式改壞了怎麼救回來?
連按兩下 Esc 或輸入 /rewind,挑一個時間點倒帶。Claude Code 在你每次下指令前都會自動存檔,不用事先設定。可以選只回檔案(對話繼續聊)、只回對話,或兩個一起。前提是壞掉的東西還在你電腦裡;已經推上線或部署出去的,rewind 救不回,要走 git 或重新部署的路。
Rewind 跟 Ctrl+Z、git 差在哪?
範圍不同。Ctrl+Z 救單一檔案裡剛打錯的字;rewind 救「AI 這一輪動過的所有檔案」,可能一次八個檔一起回;git 是永久的版本存檔,每一版都留著、跨對話跨機器都在。粗略分工:打錯字用 Ctrl+Z、這場對話內反悔用 rewind、要長期保存多個版本用 git。
Rewind 有什麼救不回來的?
三類。一是 terminal 指令的副作用,裝過的套件、刪掉的檔案不會復原;二是已經離開你電腦的東西,像推上線的更新、部署出去的網站、資料庫裡的資料;三是它只追蹤 AI 改的檔案。我實測過:倒帶對話之後,推上線的更新原封不動留在線上。所以改壞的當下先別推上去,幾乎都救得回。
不會 git 能放心讓 AI 改程式嗎?
現在可以比較放心了:rewind 是本來就有的功能、零設定,等於系統自動幫你按存檔,改壞了倒帶就好。新手建議先靠 rewind 放膽試;等出現「要同時留好幾個版本給人挑」「這專案要做好幾週」的需求,再學 git。那是另一條事前設斷點的路,兩條路各有適用場景,不是誰取代誰。
看完這篇之前先確認:
- 怕 AI 把專案改壞,每次都不太敢讓它動手的人
- 想讓 AI 試好幾種做法,又怕上一版被蓋掉
- 還不會 git,想知道能不能先不學
- 東西已經推上線才想救 (rewind 救不到,原因見內文)
- 要長期保存多個版本給團隊挑 (那是 git 的主場)
- 想找對話紀錄的匯出備份方法 (不同主題)
