git for windowsでpatchファイルの生成および適用方法


最近gitを使っている分、パッチファイルを生成してメンバーに修正差分を展開するシーンがたくさん出てきていました。linuxではpatchが内装されているらしいがあいにく手元の作業環境がwindows+vscodeとなっていて、windowsにおいてもpatchコマンドを使える方法を探ってみました。

パッチの適用

  1. デフォルト設定でgit for windowsをインストールすれば、「C:\Program Files\Git\usr\bin」にwindows用のpatch.exeコマンドがあるはずです。このフォルダーはシステムパスに含まれないので、cmdではなくgit bashを使えば、コマンドへのアクセスが可能となります。
  2. git bashを開いて、patch -p1 < xxx.patchを実行すれば、今いるフォルダーをルートパスに(オプション-p1)、パッチが適用されます。別の階層で適用したい場合オプション-p1を必要に応じて変更していただければと思います。

パッチの生成

gitでのパッチ生成する方法の一つはコマンド

git diff commit1 commit2 > filename.patch

を叩けば、commit1⇒commit2のパッチが指定されたファイル名で生成されます。