Claude Codeのrewindとforkを使いこなす|実験・やり直しが怖くなくなる開発術

AI・自動化
スポンサーリンク
※ 本記事には広告・PR(アフィリエイト)リンクが含まれています

📋 Claude Code コマンド指示書(クリックで展開)

.claude/commands/ に保存して /コマンド で実行

---
description: "Claude Codeのrewindとforkを使いこなす|実験・やり直しが怖くなくなる開発術"
---

# Claude Codeのrewindとforkを使いこなす|実験・やり直しが怖くなくなる開発術

この指示書は https://akahara-vlab.com/claude-code-rewind-fork/ の内容をClaude Codeコマンドとして実行するためのものです。

## 概要

Claude Codeのrewindとforkを使いこなす|実験・やり直しが怖くなくなる開発術

## 使い方

1. このテキストを `.claude/commands/claude-code-rewind-fork.md` に保存
2. Claude Codeで `/claude-code-rewind-fork` と入力して実行

## 指示

上記の記事の知識をもとに、ユーザーの質問に回答してください。
記事URL: https://akahara-vlab.com/claude-code-rewind-fork/

※ 平文なので中身を確認してから使ってください。安全性は目視で確認できます。


この記事でわかること
– Claude Codeのrewindforkの仕組み
– それぞれの使いどころと操作方法
– 実験的開発フローとの組み合わせ方
– 失敗を恐れずに試せるプロジェクト管理術

「Claude Codeが変な方向に実装し始めた。でも途中まではよかったのに……」

そういうときのために rewind がある。そして「この機能、2通りの実装で試して比べたい」なら fork が使える。

この2つを知っておくと、Claude Codeでの実験的な開発が根本的にやりやすくなる。


スポンサーリンク

rewindとは

rewindはセッション内のチェックポイントまで巻き戻す機能だ。

Claude Codeはセッション中、会話のやり取りとファイルの変更を追跡している。rewind を使うと、指定した時点の状態(ファイルの内容・会話の文脈)に戻ることができる。

/rewind          ← インタラクティブに巻き戻しポイントを選択

実行すると、過去の会話ステップの一覧が表示され、どのタイミングに戻るかを選べる。

rewindの使いどころ

1. Claude Codeが意図しない実装を始めたとき

あなた:ユーザー認証機能を追加して
Claude:実装します...auth.pyを大量に書き換え、設定ファイルも変更)
あなた:あ、これ既存のauth_utils.pyを使ってほしかった

この状態から全部手動で戻すのは面倒。/rewind で「認証機能を追加して」と言う前に戻せる。

2. ちょっと試したい変更を本流に影響させたくないとき

デバッグログを大量に追加して動作確認したい、でも後でこのログを全部消すのが手間——そういうときはrewindで戻すのが早い。

3. 途中経過を「セーブポイント」として活用する

あなた:ここまでの実装を確認した。続きに行く前にこのタイミングを記録しておいて
/rewindでセーブポイントを確認
あなた:続き実装して

forkとは

forkはセッションを分岐させて、複数のアプローチを並行して試す機能だ。

同じ起点から「TypeScriptで実装」「Pythonで実装」を別セッションで試して、どちらが良いかを比較できる。

/fork            ← 現在のセッションを分岐させる

Gitのブランチに相当するが、ファイル変更だけでなく会話の文脈ごとコピーされる点が異なる。

forkの使いどころ

1. 実装アプローチを2通り試したいとき

セッションA(fork元): 「REST APIの設計まで終わった」
  ↓ /fork
セッションB: 「OpenAPI仕様書ベースで実装」
セッションC: 「コードファーストで実装」

両方試して、コード量・テストのしやすさ・パフォーマンスで比較できる。

2. 同じ設計で異なるフレームワークを比較する

起点: 「このAPIサーバーの設計をFastAPIで実装して」
  ↓ /fork
A: FastAPI実装を続ける
B: 「FastAPIじゃなくてFlaskでやり直して」

フレームワーク選定に迷っているときに、両方実装して実際に比較できる。

3. バグ修正の方針が複数あるとき

起点: 「バグを見つけた。まず原因を特定して」
(原因特定完了)
  ↓ /fork
A: 「根本修正(リファクタリング込み)で対応」
B: 「最小変更の暫定修正で対応」

rewindとforkの組み合わせパターン

実際の開発では組み合わせて使うのが効果的。

「試して失敗してrewindで戻してforkで別アプローチ」サイクル

1.実装スタート
2.うまくいかない/rewindで戻る
3./forkで分岐
4.アプローチAを試す
5.うまくいかない/rewindで起点に戻る
6.アプローチBを試す
7.うまくいった!→このセッションを本流に

Gitでいう「気軽にブランチを切って試す」感覚で、Claude Codeのセッションを操作できる。


実験的開発(vibe coding)との相性

vibe codingは「細かい仕様より動くものを作りながら仕様を固める」スタイル。

従来は「Claude Codeに何かさせて、気に入らなければ全部プロンプトで指示して修正」という流れだった。これは時間もトークンも無駄になりやすい。

rewind/forkがあると:
– 試して気に入らなければすぐ戻れる
– 複数のアプローチを低コストで比較できる
– 「どこまでは良かったか」を会話ごと追跡できる

「壊れても怖くない」という感覚が、実験の量を増やし、結果的に良いコードに早く辿り着けることが多い。


Gitと組み合わせる

rewind/forkはClaude Codeのセッション管理だが、Gitと組み合わせると強力になる。

推奨フロー

# Gitでコミット(安全なポイントを記録)
gitadd-A&&gitcommit-m"WIP: auth基盤完成"

# Claude Codeで実験
# うまくいかなければ /rewind で Claude側を戻す
# ファイルが壊れたなら git checkout で戻す

Claude Codeの rewind はセッションの巻き戻し、Gitは実際のファイルの巻き戻し。目的が異なるので両方使うのが現実的。

よくある失敗パターンの防止

× Claude Codeが大量のファイルを変更 → rewindで戻したがファイルが戻らない
○ 実験前にgit commit → 失敗したらgit reset && Claude Codeのrewind

rewindで戻るのはあくまで「会話の文脈」。ファイルの変更が想定外の場合はGitで戻す必要があることを忘れずに。


操作チートシート

操作コマンド用途
会話を巻き戻す/rewind間違った方向の修正
セッションを分岐/fork複数アプローチの比較
セッションの履歴確認/historyどこに戻れるか確認
コンパクト化/compact長くなった会話を圧縮

まとめ

  • rewind: セッションを指定ポイントまで巻き戻す。Claude Codeが意図しない方向に進んだときに使う
  • fork: セッションを分岐させる。同じ起点から複数のアプローチを試したいときに使う
  • Gitと組み合わせる: セッション管理(rewind/fork)+ ファイル管理(git)で安全に実験できる

「試す → 失敗 → 即リセット → 別アプローチ」のサイクルを速く回すほど、Claude Codeを使った開発の品質が上がる。


あわせて読みたい


{
“@context”: “https://schema.org”,
“@type”: “FAQPage”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “Claude CodeのrewindとはHonestyどういう機能ですか?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “rewindはClaude Codeのセッション内で、特定のチェックポイントまで会話・ファイル変更を巻き戻す機能です。「この変更の前の状態に戻したい」というときに使います。Ctrl+Zの会話レベル版と考えるとわかりやすいです。”
}
},
{
“@type”: “Question”,
“name”: “Claude CodeのforkはGitのforkと同じですか?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “概念は似ていますが、Claude CodeのforkはGitリポジトリではなくセッションの会話ツリーを分岐させます。同じ起点から「アプローチA」と「アプローチB」を並行して試せます。”
}
},
{
“@type”: “Question”,
“name”: “rewindとforkはどんな場面で使うと便利ですか?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “rewindは「Claude Codeが意図しない方向に進んだとき」に特定のタイミングまで戻るために使います。forkは「2通りの実装を試してどちらが良いか比較したい」ときに有効です。どちらも実験的な開発スタイル(vibe coding)との相性が抜群です。”
}
}
]
}

見てもらえるだけで応援になります

このブログはアフィリエイトリンクで運営されています。以下のリンクから気になるサービスをチェックしてもらえると、僕たちの活動の支えになります。


この記事を書いたのは わさび(ニホンイシガメ / 3歳 / VTuberあかはら。の家族)です。

あかはらVラボ — Claude特化の情報を発信中。

この記事が参考になったら|以下のリンクから見てもらえるだけで、ブログ運営の応援になります。




  • AI開発環境やブログ運営に。初期費用無料、月額296円から。
  • NordVPN

    AI活用時のデータ保護に。VPNで通信を暗号化。

コメント

タイトルとURLをコピーしました