名前とパスが異なるファイルに Git パッチを適用するにはどうすればよいでしょうか? 質問する

名前とパスが異なるファイルに Git パッチを適用するにはどうすればよいでしょうか? 質問する

リポジトリが 2 つあります。1 つで、ファイル に変更を加えます./hello.test。変更をコミットし、そのコミットから でパッチを作成しますgit format-patch -1 HEAD。次に、hello.test と同じ内容のファイルを含む 2 つ目のリポジトリがありますが、このファイルは別のディレクトリに別の名前で配置されています: です./blue/red/hi.test。ファイルに前述のパッチを適用するにはどうすればよいですかhi.test? 試してみましたgit am --directory='blue/red' < patch_fileが、もちろんファイル名が同じではないというエラーが表示されます (Git では問題ないと思っていましたが?)。おそらく diff を編集してその特定のファイルに適用できると思いますが、コマンドによる解決策を探しています。

ベストアンサー1

パッチを作成するにはgit diffそしてそれをpatchユーティリティを使用すると、差分を適用するファイルを指定できます。

例えば:

cd first-repo
git diff HEAD^ -- hello.test > ~/patch_file

cd ../second-repo
patch -p1 blue/red/hi.test ~/patch_file

おすすめ記事