同僚が作成した .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