Diffパッチ適用ツール
Unified Diffパッチをテキストに適用・逆適用し、個別のHunkを確認、2つのテキストからDiffを生成します。
このツールについて
Diffパッチ適用ツールは、Unified Diffパッチをテキストに即座に適用できる無料のブラウザベースツールです。Unified Diffはgit diff、diff -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データが端末から外に出ることはありません。サーバーリクエスト、ログ記録、サードパーティサービスの関与はありません。
使い方
- モードを選択します:パッチ適用でUnified Diffを適用、またはDiff生成で2つのテキストからDiffを作成します。
- パッチ適用モードでは、左パネルにオリジナルテキストを貼り付けます。
- 右パネルにUnified Diff / パッチ内容(
+、-で始まる行と@@Hunkヘッダー)を貼り付けます。 - 必要に応じて**逆適用(取り消し)**を有効にしてパッチの方向を逆にします。
- パッチ適用をクリック(またはCtrl+Enterを押下)して結果を生成します。
- 出力の下に表示される各Hunkをクリックして承認・拒否を切り替えます。結果は自動的に更新されます。
- CopyをクリックまたはCtrl+Shift+Cを押して結果をクリップボードにコピーします。
よくある質問
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を出力します。
関連ツール
差分ビューア
2つのテキストを行単位・文字単位の差分ハイライトで並べて比較します。
Gitコンフリクトリゾルバー
Gitのマージコンフリクトをビジュアルに解決します。コンフリクトマーカーを貼り付け、両側を比較し、解決策を選択・編集。
文字数カウンター
単語数、文字数、文数、段落数のカウントと読了時間の推定、キーワード頻度分析を行います。
文字列エスケープ/アンエスケープ
JSON、JavaScript、HTML、URL、SQL、CSV形式の文字列をエスケープ・アンエスケープします。
テキストケース変換
camelCase、PascalCase、snake_case、kebab-caseなどの命名規則間でテキストを変換します。
テキスト差分マージ
3ウェイマージツール。Base、Mine、Theirsバージョン間のコンフリクトを解決します。