Diffパッチ適用ツール

Unified Diffパッチをテキストに適用・逆適用し、個別のHunkを確認、2つのテキストからDiffを生成します。

このツールについて

Diffパッチ適用ツールは、Unified Diffパッチをテキストに即座に適用できる無料のブラウザベースツールです。Unified Diffはgit diffdiff -u、ほとんどのバージョン管理システムで使用される標準フォーマットです。同僚から受け取った.patchファイル、プルリクエストからコピーしたDiff、オリジナルとパッチから変更後ファイルを再構築する場合など、すべてブラウザ内で処理できます。

ツールには2つのモードがあります。パッチ適用モードでは、左パネルにオリジナルテキスト、右パネルにUnified Diffを貼り付け、「適用」をクリックします。エンジンがパッチを解析し、各Hunkをオリジナルテキストに適用し、パッチ適用後の結果を表示します。逆適用を有効にするとパッチを取り消すことができます。各Hunkは個別に承認・拒否を切り替えられるため、必要な変更だけを選択できます。

Diff生成モードでは、2つのバージョンのテキストを貼り付けると、コピーして共有できるクリーンなUnified Diff出力を生成します。DiffジェネレーターはLCS(最長共通部分列)アルゴリズムを使用して最小限の変更を計算します。

2つのテキストをサイドバイサイドで視覚的に比較したい場合は、Diff Viewerをお試しください。Gitのマージコンフリクトを3ウェイ比較で解決するには、Git Conflict Resolverをご確認ください。パッチ作業中にテキストの大文字・小文字を変換するには、Text Case Converterが便利です。

すべての処理はブラウザ内で完結します。テキスト、パッチ、Diffデータが端末から外に出ることはありません。サーバーリクエスト、ログ記録、サードパーティサービスの関与はありません。

使い方

  1. モードを選択します:パッチ適用でUnified Diffを適用、またはDiff生成で2つのテキストからDiffを作成します。
  2. パッチ適用モードでは、左パネルにオリジナルテキストを貼り付けます。
  3. 右パネルにUnified Diff / パッチ内容(+-で始まる行と@@ Hunkヘッダー)を貼り付けます。
  4. 必要に応じて**逆適用(取り消し)**を有効にしてパッチの方向を逆にします。
  5. パッチ適用をクリック(またはCtrl+Enterを押下)して結果を生成します。
  6. 出力の下に表示される各Hunkをクリックして承認・拒否を切り替えます。結果は自動的に更新されます。
  7. CopyをクリックまたはCtrl+Shift+Cを押して結果をクリップボードにコピーします。

人気のDiffパッチ適用例

すべてのDiffパッチ適用例を見る →

よくある質問

Unified Diffフォーマットとは何ですか?

Unified Diffは、2つのファイル間の変更を表す標準的なテキストフォーマットです。'+'で始まる行は追加、'-'は削除、' '(スペース)は未変更のコンテキスト行を示します。'@@ -1,5 +1,7 @@'のようなHunkヘッダーは行範囲を示します。このフォーマットは'git diff'、'diff -u'、ほとんどのバージョン管理ツールで生成されます。

git diffの出力からパッチを適用できますか?

はい。'git diff'、'git format-patch'、'svn diff'、Unixの'diff -u'コマンドが生成する標準的なUnified Diff出力を受け付けます。'---'と'+++'のファイルヘッダー、'@@ ... @@'のHunkヘッダーを含めて貼り付けてください。

逆適用とは何ですか?

逆適用(unapply)はパッチ内の'+'と'-'行の意味を入れ替えます。これによりパッチを取り消す効果があります。パッチ適用済みのファイルからオリジナルを復元したい場合や、特定の変更をリバートしたい場合に便利です。

Hunkの適用に失敗した場合どうなりますか?

Hunkのコンテキスト行がオリジナルテキストと一致しない場合、ツールはどのHunkが失敗したかを報告します。各Hunkを個別に確認し、承認・拒否を切り替えられます。成功したHunkのみが結果に含まれます。

Hunkを選択的に適用できますか?

はい。パッチ適用後、各Hunkにチェックボックスが表示されます。Hunkまたはチェックボックスをクリックして承認・拒否を切り替えると、承認されたHunkのみを反映した結果が自動更新されます。

データは安全ですか?

はい。すべてのパッチ解析、Diff生成、テキスト処理はJavaScriptを使用してブラウザ内で完全に実行されます。データがサーバーに送信されることはありません。ブラウザの開発者ツールのネットワークタブで確認できます。

2つのテキストからDiffを生成できますか?

はい。「Diff生成」モードに切り替え、左パネルにオリジナルテキスト、右パネルに変更後テキストを貼り付け、「Diff生成」をクリックします。LCSアルゴリズムで差分を計算し、コピーして使用できるUnified Diffを出力します。

関連ツール