同僚によって作成された.diffファイルがあり、そのdiffファイルにリストされている変更を、まったく同じリポジトリーの私のローカルブランチに適用したいと思います。この差分ファイルを生成するために使用された、そのワーカーのPCまたはブランチへのアクセス権がありません。
明らかに私は一行ずつ行ってすべてを再入力することができたが、私はむしろシステムを人的ミスにさらすことはしたくない。これを行う最も簡単な方法は何ですか?
差分ファイルをリポジトリのルートにコピーしてから、次の手順を実行します。
git apply yourcoworkers.diff
apply
コマンドに関する詳細は のmanページ にあります。
ところで:コミットをファイルごとに交換するより良い方法は、送信者のgit format-patch
コマンドと受信者のgit am
コマンドの組み合わせです。
パッチアプリケーションが失敗し、差分の生成元のコミットが実際にリポジトリにある場合は、変更をマージしようとするapply
の-3
オプションを使用できます。
以下のようにUnixのpipeでも動作します。
git diff d892531 815a3b5 | git apply