Git diff ファイルを取得して、同じリポジトリのコピーであるローカル ブランチに適用するにはどうすればよいでしょうか? 質問する

Git diff ファイルを取得して、同じリポジトリのコピーであるローカル ブランチに適用するにはどうすればよいでしょうか? 質問する

同僚が作成した .diff ファイルがあり、その diff ファイルにリストされている変更を、まったく同じリポジトリのローカル ブランチに適用したいと考えています。この diff ファイルを生成するために使用された同僚の PC またはブランチにはアクセスできません。

もちろん、1 行ずつすべてを再入力することもできますが、システムに人為的なエラーを起こさせたくないのです。これを行う最も簡単な方法は何ですか?

ベストアンサー1

diff ファイルをリポジトリのルートにコピーし、次の操作を実行します。

git apply yourcoworkers.diff

このコマンドの詳細についてapplyは、そのマニュアルページ

ちなみに、ファイルごとにコミット全体を交換するより良い方法は、git format-patch送信側とgit am受信側でコマンドを組み合わせることです。これにより、作成者情報とコミット メッセージも転送されるためです。

パッチの適用が失敗し、差分が生成されたコミットが実際にリポジトリ内にある場合は、変更をマージしようとする-3のオプションを使用できます。apply

次のように Unix パイプでも動作します。

git diff d892531 815a3b5 | git apply

おすすめ記事