Claude Codeでどこまでできる?

Claude Codeの使い方や連携を、実際に試してわかりやすく伝えるサイト

Claude Codeの/diffで変更内容を確認する方法

,
CC-047

Claude Codeに作業を頼んでいると、ターミナルにコードが次々と流れていきます。「ファイルが書き換わったのは分かるけど、どこが変わったか全部追うのは大変」と感じたことはありませんか? 変更箇所を一つひとつスクロールで探すのは現実的ではありません。/diffと打つだけで、セッション中のすべての変更が一画面にまとまって表示されるので、どこがどう変わったかを迷わず確認できます。

この記事でやること

Claude Codeの/diffコマンドで、セッション中の変更を確認する方法を整理します。

ざっくり3本柱です。

  • /diffコマンドの基本的な使い方と画面の読み方
  • セッション全体の変更(フルgit diff)と、やり取りごとの変更(ターンごとのdiff)の違い
  • 問題があった変更を/rewindで巻き戻す基本ルート

ターミナルでの操作をメインに進めます。VS Code拡張機能でも同じ確認ができるので、そちらの補足も最後に入れます。

事前に必要なもの

始める前に、次の条件を満たしているか確認してください。

  • Claude Codeがインストール済みであることインストール手順は別記事で扱っています)
  • Windows 10 または 11 環境
  • ターミナル(PowerShellまたはコマンドプロンプト)でClaude Codeを起動していること

デスクトップアプリやVS Code拡張機能を使っている場合でも/diffは使えます。ターミナル版と見え方が少し違う部分は後で補足します。

/diffとは — 変更を一目で確認するコマンド

まず押さえておきたいのが、/diffはClaude Code専用のスラッシュコマンドだということです。ターミナルで打つgit diffコマンドとは別物なので、混同しなくて大丈夫です。

使い方はシンプルです。Claude Codeに何か作業を頼んで、ファイルが書き換わった後、プロンプトに/diffと入力するだけ。

/diff

現在の未コミット変更と、Claude Codeのターンごとの差分を確認できます。どのファイルに変更が入っているかを一覧で見られるので、作業後の確認に使いやすいです。

セッションを開いている間なら、いつでも/diffと打てば変更内容が確認できます。タイミングを迷ったら、とりあえず打ってみる——それで問題ありません。

「セッション」とは、Claude Codeを起動してから終了するまでの1回のやり取りの単位です。セッション中に確認しておくのが一番安心です。ただし、未コミットのファイル変更自体は作業フォルダ側に残ります。再開方法や環境によって、ターンごとの見え方が変わる可能性があるため、重要な変更はセッション中に/diffで確認しておくのが安全です。

/diffの画面の見方 — 具体例で読み解く

/diffを打つと、インタラクティブなdiffビューアーが開きます。ここでは画面の読み方を、架空の変更例を使って説明します。

ファイル一覧が表示される

まず、セッション中に変更されたファイルのリストが表示されます。どのファイルが書き換わったかが一目で分かります。

追加行と削除行の読み方

各ファイルを選択すると、中身が表示されます。

  • 緑色の行(先頭に+記号):新しく追加された行
  • 赤色の行(先頭に-記号):削除された行

たとえば、仮想的な変更例としてconfig.yamlの1行が書き換わった場面を考えてみます。

- version: 1.0
+ version: 1.1

赤色でversion: 1.0が削除され、緑色でversion: 1.1が追加された——つまり「バージョン番号が1.0から1.1に変わった」と読み取れます。一見小さな変更でも、意図していない書き換えだと問題になるので、こういう差分を見つけられたのは/diffのメリットです。

別の例として、不要なログファイルが削除されたケース。

- debug.log (赤色で表示)

Claude Codeがお掃除してくれたのか、それとも必要なファイルが消えてしまったのか。赤色で表示されているおかげで、すぐに気づけます。

複数ファイルの確認

ファイル間を移動して、複数ファイルの変更を順番に確認できます。すべてのファイルをざっと見てから作業に戻るのがおすすめです。

画面の終了

確認が終わったらqキーを押すと、ビューアーが閉じてプロンプトに戻ります。

フルgit diffとターンごとのdiff — どこで何が変わったかを追う

/diffの表示には2つのモードがあります。

フルgit diff

セッション開始からのすべての変更をまとめて表示します。「セッション全体で何が変わったか」を一気に確認したい時に使います。

ターンごとのdiff(per-turn diff)

特定のやり取り(ターン)で何が変わったかを個別に表示します。

具体的にどう違うか。3回やり取りしたセッションを例に考えてみましょう。

1回目:README.mdを更新した
2回目:style.cssを書き換えた
3回目:index.htmlを修正した

フルgit diffなら、この3回分の変更が全部まとめて出ます。一方、ターンごとのdiffに切り替えると、「2回目の依頼でだけstyle.cssが書き換わっていた」という特定ができます。これが分かると、「あの依頼が原因だった」と原因を絞り込みやすくなります。

使い分けの目安

  • 変更の全体像を把握したい → フルgit diff
  • 「どのタイミングで何が変わったか」を特定したい → ターンごとのdiff

diffビューアー内で切り替え操作ができるので、まずはフルgit diffで全体を見て、気になる変更があればターンごとに掘っていく——この順序が使いやすいです。

試しに動かしてみる — /diffと/rewindを実際に試す

ここまでの知識をまとめて、実際に手を動かして確認してみましょう。

Step 1: Claude Codeで簡単なファイル編集を依頼する

任意のテキストファイルの修正をClaude Codeに頼んでみてください。たとえば「README.mdの先頭にタイトルを追加して」くらいで構いません。

期待される結果:Claude Codeがファイルを編集し、変更内容の要約が表示されます。

Step 2: /diffと打って変更一覧を確認する

/diff

期待される結果:変更されたファイルのリストが表示されます。変更がなければ「No changes」と表示されます。

Step 3: ターンごとのdiffに切り替えて確認する

diffビューアー内でターンごとのdiffに切り替えてみてください。

期待される結果:各ターンごとに変更されたファイルと差分が表示されます。

Step 4: 問題があれば/rewindで巻き戻す

/rewind

期待される結果:巻き戻しメニューが表示されます。戻したい地点と戻し方を選ぶと、選択内容に応じてコードや会話が巻き戻されます。

Step 5: もう一度/diffで確認する

巻き戻しが反映されたか確認します。

期待される結果:巻き戻した変更が差分から消えています。

一連の流れが体験できれば、変更確認の不安はかなり減るはずです。

変更に問題があった時は/rewindで巻き戻す

Step 4でも触れましたが、/rewindについてもう少し詳しく説明します。

/rewindもClaude Codeのスラッシュコマンドです。セッション内で加えられた変更を巻き戻せます。

/rewind

コードだけ巻き戻して会話は残る

ここがポイントです。/rewindを実行すると、巻き戻しメニューが開きます。そこで「コードだけ戻す」を選ぶと、会話の流れを残したままファイル変更だけを戻せます。必要に応じて、会話だけ戻す、コードと会話の両方を戻す、といった選択もできます。

基本ルート

  1. /diffで変更を確認する
  2. 問題のある変更を見つけたら/rewindで巻き戻す
  3. もう一度/diffで巻き戻しが反映されたか確認する

この「確認→巻き戻し→再確認」の流れを覚えておけば大丈夫です。

undoやgit checkoutとの違い

混同しやすいので軽く触れておきます。

  • /rewind:Claude Codeのセッション内で変更を巻き戻す
  • undo(Ctrl+Z):エディタの操作履歴を1ステップ戻す
  • git checkoutGitのコミット単位でファイルを復元する

用途が違うので、Claude Codeのセッション中に使うなら/rewindが一番手軽です。

VS Code拡張機能でもdiffを見る方法(補足)

VS Code拡張機能経由でClaude Codeを使っている場合も、変更確認の仕組みは用意されています。

VS Code拡張機能では、/diffと同じ情報がIDEのdiffビューアーで表示されます。ターミナル版のdiffビューアーと同じように、追加行・削除行が色分けされて表示されるので、読み方は変わりません。

操作感もターミナル版とほぼ同じです。/diffコマンドを入力すると、VS Codeのエディタ内に差分が表示されます。

VS Code拡張でも、変更内容を差分ビューで確認できます。ただし、CLIとVS Code拡張は完全に同じではなく、使えるコマンドや操作感が一部異なります。/diffを中心に使いたい場合は、VS Code内の統合ターミナルでclaudeを起動して確認する方法もあります。

いつ/diffを打てばいいか — タイミングの目安

「いつ/diffを打てばいいか」は初心者がよく迷うポイントです。目安となるタイミングを挙げておきます。

  • Claude Codeにファイル編集を依頼した後
    一番基本的なタイミングです。編集が終わったら/diffで確認する習慣をつけておくと安心です。

  • 自動モード(accept edits on)を使う前後
    自動モードをオンにすると、Claude Codeが確認なしでファイルを変更するようになります。切り替えの前後に/diffを打っておくと、予期しない変更に早く気づけます。

  • 複数ファイルにまたがる変更を依頼した後
    1つの依頼で複数のファイルが書き換わることがあります。全体像を/diffで押さえておくと、漏れに気づきやすいです。

どのタイミングでも共通して言えるのは、「とりあえず/diffを打ってみる」習慣をつけるのが一番安心ということです。打ちすぎて困ることはありません。

最後に確認すること

この記事の内容を身につけたか、次の手順で確認してみてください。

  1. Claude Codeを開いて、適当なファイル編集を依頼する
  2. /diffと打って、変更一覧が表示されることを確認する
  3. ターンごとのdiffに切り替えて、やり取りごとの変更が表示されることを確認する

この3ステップができれば、変更確認の基本は押さえられています。

/diff/rewindを組み合わせれば、多くのファイル変更は確認しやすくなり、問題があった時も戻しやすくなります。ただし、Bashコマンドによる削除や移動、Claude Code外での手動変更は巻き戻し対象外になることがあるため、大事な作業ではGitのコミットも併用すると安心です。

次に読む記事の目安

  • /rewindの詳細な挙動を知りたい → /rewindの解説記事
  • 自動モード(accept edits on)の使い方 → 自動モードの解説記事
  • セッションが長くなってきた時の管理 → /compactの解説記事

まとめ

Claude Codeの/diffコマンドは、セッション中のファイル変更を一画面で確認できる機能です。フルgit diffで全体像を把握し、ターンごとのdiffで原因を特定し、問題があれば/rewindで巻き戻す——この3つを押さえておけば、ファイルの変更を確認しながら、Claude Codeでの作業を進めやすくなります。