patch コマンドジェネレーター
diff をファイルに適用する patch コマンドを生成
patch を使い始める
## patch とは?
`patch` は(`diff -u` で作成された)差分を一連のファイルに適用します。ソースコードの変更を配布・取り消すための古典的なツールです。
## 使い方
1. **パッチファイルを指定**: `-i` で与えます(例: `-i fix.patch`)。 2. **パス要素を削除**: `-p`(よく使うのは `-p 1`)で、差分内のパスを手元のツリーに合わせます。 3. **オプションを設定**(省略可): `-R` で反転、`-d` で別ディレクトリで実行。 4. **コピーして実行**: 生成されたコマンドをターミナルに貼り付けて実行します。
よく使うフラグ
### `-p NUM` 先頭のスラッシュを削除 diff のファイルパスはしばしば `a/src/app.c` や `b/src/app.c` の形をしています。`-p 1` で先頭の `a/` / `b/` 接頭辞を削除し、`patch` の対象を `src/app.c` に合わせます。
### `-i FILE` ファイルからパッチを読み込む 標準入力ではなくディスク上のファイルに保存されたパッチを適用します。
### `-d DIR` ディレクトリを変更 あらかじめ `DIR` に `cd` したかのように `patch` を実行します。リポジトリルートからパッチを適用する際に便利です。
### `-R` 反転 パッチを逆順に再適用し、以前に適用した変更を**取り消します**。`git apply -R` と同等です。
### 検証 ファイルを変更せずにテストするには `--dry-run`(このジェネレータでは公開していません)を使います:
``` patch -p 1 --dry-run -i fix.patch ```
▶-p 1 は何を意味する?
▶適用済みのパッチを取り消すには?
このツールがあなたに役立ったなら、私にコーヒーをご馳走することをお勧めします。
私にコーヒーを買ってください。