608

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

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

4

2 に答える 2

911

差分ファイルをリポジトリのルートにコピーしてから、次を実行します。

git apply yourcoworkers.diff

applyコマンドの詳細については、man ページを参照してください。

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

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

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

git diff d892531 815a3b5 | git apply
于 2012-09-07T15:17:46.197 に答える