Claude Code: チェックポイントとロールバック

最終更新:2026-08-31

チェックポイントは Claude Code のセーフティネットです — 重要な操作前に自動スナップショットを作成し、問題があればいつでもロールバックできます。

💡 ヒント: チェックポイントは git コミットではありません — セッション粒度のスナップショットで、各操作の状態を記録し、任意のステップへの正確なロールバックを可能にします。

📋 前提条件: 第19章 - CLI リファレンスマニュアル

1. 学ぶ内容


2. チェックポイントメカニズム

(1) 動作原理

トリガー条件 自動作成 説明
セッション開始 初期状態を記録
ファイル修正前 修正前の状態を記録
コマンド実行前 コマンド前の状態を記録
手動リクエスト /checkpoint

▶ 例1:チェックポイント一覧の確認

TEXT 📖 参照専用
> /checkpoints

  #1 [14:20:00] Session start | 0 files changed
  #2 [14:22:15] Modified jwt.ts | 2 files changed
  #3 [14:25:30] Modified auth.ts | 1 file changed
  #4 [14:30:15] Added tests | 3 files changed
  #5 [14:35:00] Current state | 6 files changed

3. 手動チェックポイント

(1) チェックポイントの作成

TEXT 📖 参照専用
> /checkpoint
✅ Checkpoint #6 created

> /checkpoint "Pre-migration state"
✅ Checkpoint #6 created with description

(2) ベストプラクティス — いつ作成するか

タイミング 理由
大きな変更の前 リファクタリング、マイグレーション等
マイルストーン完了時 機能ポイントの完了
不確実な操作の前 実験的な修正の前
離脱する前 現在の進捗を保存

▶ 例2:大きな変更の前

TEXT 📖 参照専用
> /checkpoint "Pre-migration state"
✅ Checkpoint #6 created

> Migrate auth from Session to JWT

Claude Code: 12ファイルを修正中... 3テスト失敗 ❌

# Alice はロールバックして別の方法を試すことに決める
> /rollback 6
✅ Rolled back to checkpoint #6 (pre-migration state)

4. ロールバック操作

(1) ロールバック方法

コマンド 説明
/rollback 前のチェックポイントにロールバック
/rollback <n> 指定されたチェックポイントにロールバック
/undo 最新の操作を取り消し
git checkout . すべての未コミット変更を取り消し

▶ 例3:ステップごとのロールバック

TEXT 📖 参照専用
> /checkpoints
  #1 [14:20] Start
  #2 [14:22] Added UserService
  #3 [14:25] Added tests
  #4 [14:30] Refactored UserService (failed)
  #5 [14:35] Attempted fix (still failing)

# 失敗したリファクタリングだけをロールバックし、成功した追加は保持
> /rollback 3
✅ Rolled back to checkpoint #3
   Kept: UserService + tests
   Reverted: Refactor + fix attempt

# 別のアプローチでリファクタリング
> Refactor UserService with different approach

5. チェックポイントと Git

(1) 比較

次元 チェックポイント Git
粒度 操作レベル コミットレベル
永続性 セッション内のみ 永続的
保存先 メモリ/一時 リポジトリ
共有 共有可能 プッシュ可能
ロールバック ステップ単位で正確 コミット単位で正確

(2) 協調戦略

TEXT 📖 参照専用
# ベストプラクティス:チェックポイント + git の二重保険

# 1. セッション前に git コミット
git add -A && git commit -m "before: claude session"

# 2. セッション内のロールバックにチェックポイントを使用
/checkpoint "Milestone complete"
/rollback 3

# 3. セッション後に git コミット
git add -A && git commit -m "feat: user auth module"

# 4. セッション全体が失敗した場合、git でロールバック
git reset --hard HEAD~1

6. 多層セーフティネット

TEXT 📖 参照専用
Level 1: /undo          — 最新の操作を取り消し
Level 2: /rollback      — チェックポイントにロールバック
Level 3: git checkout   — 未コミット変更を取り消し
Level 4: git reset      — 任意のコミットにロールバック
Level 5: git reflog     — 失われたコミットを復旧

❓ よくある質問

Q チェックポイントはどのくらい保持されますか?
A 現在のセッション内のみです。終了するとチェックポイントは失われますが、git コミットは永続的です。
Q ロールバックですべての進捗が失われますか?
A いいえ。特定のチェックポイントへのロールバックはそのポイント以降の変更のみを取り消し、それより前の変更は保持されます。
Q 単一ファイルをロールバックできますか?
A チェックポイントのロールバックはステップ単位です。単一ファイルのロールバック:git checkout -- <file>
Q ロールバック後、Claude Code は以前の会話を記憶していますか?
A はい。会話履歴は保持されますが、ファイルの状態はロールバックされます。Claude Code は何をしたか、何をロールバックしたかを知っています。

📖 まとめ


📝 練習問題

  1. 基本 (⭐): チェックポイントを作成し、変更を加え、ロールバックして、ファイルが復元されたことを確認してください。
  2. 応用 (⭐⭐): 3つの修正ステップを実行し、ステップ2にロールバックし、ステップ1が保持されステップ3が取り消されたことを確認してください。
  3. 高度 (⭐⭐⭐): チェックポイントと git を組み合わせた多層セーフティネットを設計し、あらゆる操作の復旧を可能にしてください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%