T-CREATOR

<div />

Cursor の Restore Checkpoint で Agent の変更を元に戻す手順: 戻るものと戻らないもの

2026年11月3日
Cursor の Restore Checkpoint で Agent の変更を元に戻す手順: 戻るものと戻らないもの

Cursor の Agent が書き換えたファイルを、Restore Checkpoint で元に戻す手順をメモしました。戻るのは Agent が編集したファイルだけで、Agent がターミナルで作ったファイルと git commit は残るので、残ったものは Git で戻します。

経緯

Agent にファイルの編集、ターミナルでのファイルの作成、git commit をまとめて頼み、そのあとに Restore Checkpoint で戻しました。すると、編集したファイルは元に戻りましたが、ターミナルで作ったファイルとコミットはそのまま残っていました。

Agent には、次のように頼みました。

textsrc/calculator.js の subtract 関数を、割り算をする divide 関数に書き換えてください。次に、ターミナルで CHANGELOG.md を作って変更内容を1行書いてください。最後に、変更をすべてコミットしてください。

環境

  • macOS 26.6
  • Cursor 3.27.22(Free プラン)

手順

Restore Checkpoint を押す

Agent への指示にマウスを合わせると、右下に矢印のボタンが出ます。マウスを合わせると Restore Checkpoint と表示されるので、クリックします。

Agent への指示の右下にある Restore Checkpoint のボタン

Continue を押す

次の確認が出るので、Continue を押します。

textDiscard all changes up to this checkpoint?
You can always undo this later.

Discard all changes up to this checkpoint? の確認で Continue を押す

戻したあとは、指示の文が入力欄に戻り、その下に Redo checkpoint が出ます。Redo checkpoint を押すと、戻す前の状態に戻ります。

戻らなかったものを git status で見る

Restore Checkpoint のあとは、次のようになりました。

Agent がしたことRestore Checkpoint のあと
src​/​calculator.js を編集した元に戻った
ターミナルで CHANGELOG.md を作った残った
git commit をした残った

コミットは残ったまま、src​/​calculator.js だけが前の内容に戻るので、ファイルとコミットが食い違った状態になります。

terminal$ git status --short
 M src/calculator.js

Agent のコミットを取り消す

コミットごと取り消すときは、Git で戻します。一番上が Agent のコミットです。

terminal$ git log --oneline
fec67aa subtract を divide に置き換え、変更内容を CHANGELOG に記録する
d478459 計算の関数を追加

取り消すとそのコミットの変更は消えるので、先に git show fec67aa で中身を見てから戻します。

terminal$ git reset --hard HEAD~1

すでに push したコミットは、git reset ではなく git revert で打ち消します。

ターミナルで作られたファイルを消す

git status --short で、?? の付いたファイル(Git で管理していないファイル)を見て、要らないものを消します。Agent がコミットまでしていたときは、上のコミットの取り消しで一緒に消えます。

注意点

参考文献

著書

とあるクリエイター

フロントエンドエンジニア Next.js / React / TypeScript / Node.js / Docker / AI Coding