1. ホーム
  2. git

[解決済み] Gitのパッチを異なる名前とパスのファイルに適用するには?

2022-08-26 01:37:37

質問

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

どのように解決するのですか?

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

例えば

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

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