前提
Gitで管理しているプロジェクトAがあり、そのプロジェクトAをベースに別のプロジェクトとして新規にプロジェクトBを作成した。プロジェクトBはプロジェクトAとは別のgitシステムで管理されている。
プロジェクトAの変更をプロジェクトBに加えたい。
パッチを作る
変更を確認
$ cd (プロジェクトAのパス)
$ git log --oneline
適用済みの変更のハッシュ(プロジェクトBに適用されているもの、例:40517da)と適用したい最新の変更のハッシュ(例:8236694)を確認する。
プロジェクトA
↓
[40517da] →→→→→→→→→→→→→→→→→→→→→ プロジェクトB
↓ 差分 'git_diff.txt' 差分適用→ ↓
[8236694] [xxxxxxxx]
差分パッチ作成
git diff (古いコミット)...(新しいコミット) > git_diff.txt
$ git diff 40517da...8236694 > git_diff.txt
パッチを適用する
$ cd (プロジェクトBのパス)
$ patch -p1 < (プロジェクトAのパス)/git_diff.txt
git lfsで管理されているファイルは個別にコピーする必要がある
参考
Git で変更を patch ファイルにする / patch コマンドで適用する
とほぼ同じだが、指定した変更間の差分を適用したかった。