Git

gitの差分をpatchにして他の環境で適用するときの覚書

はじめに

のっぴきならない事情で差分をgitの外で管理したいときの覚書。
OS:Windows10

やりかた

1. パッチ化したいファイルをステージング

git addコマンドとかでステージングしておく。
※パッチに含めたくないものはステージングしなければOK

2. パッチファイルを作る

gitコマンドが使えるツールを開いて、
カレントディレクトリを適用したいプロジェクトのフォルダ直下にする。
例)cd c:\myproject

そこで、下記コマンドを実行。

$ git diff --cached > diff.patch

実行するとdiff.patchファイルができます。
出力ファイル名は自由に変更してもらっていいと思います。

c:\myproject\diff.patch

(おまけ)差分ファイル名を出力日時にする場合

$ git diff --cached > diff_`date +%Y%m%d_%H-%M-%S`.patch

3. パッチファイルを適用する

手順2で作ったdiff.patchを適用したいPC環境に持っていき、
適用したいプロジェクトフォルダの直下に置く。

例)c:\another-pc\myproject\diff.patch

gitコマンドが使えるツールを開いて、
カレントディレクトリを適用したいプロジェクトのフォルダ直下にする。

例)cd c:\another-pc\myproject

そこで、下記コマンドを実行。

$ patch -p1 < diff.patch

※patchコマンドはWindowsの標準コンソールでは使えないと思います。
 インストールするか、Git Bashなどで実行するとイケマス。

おわり