1. ホーム
  2. git

[解決済み] git diff ファイルを、同じリポジトリのコピーであるローカルブランチに適用するにはどうすればよいですか?

2022-03-04 19:36:35

質問

同僚が作成した .diff ファイルがあり、その diff ファイルに記載されている変更を、まったく同じリポジトリの私のローカルブランチに適用したいのですが、どうすればよいですか? 私は、このdiffファイルを作成した作業者のPCやブランチにアクセスすることができません。

もちろん、一行ずつ調べてすべてを入力し直すこともできますが、人為的なミスをシステムに負わせたくありません。最も簡単な方法は何でしょうか?

解決方法は?

diffファイルをリポジトリのルートにコピーして、実行してください。

git apply yourcoworkers.diff

の詳細については、こちらをご覧ください。 apply コマンドは のマニュアルページ .

ちなみに ファイル単位でコミット全体を交換するためのより良い方法は、以下のコマンドの組み合わせです。 git format-patch を送信側で、次に git am というのも、著者情報とコミットメッセージも転送されるからです。

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

また、以下のようにUnixのパイプでも動作します。

git diff d892531 815a3b5 | git apply