Progitでは次のように述べています。
競合を解決するために Git にもう少しインテリジェントに試行させたい場合は、-3 オプションを渡すことができます。これにより、Git は 3 者間マージを試行します。このオプションはデフォルトではオンになっていません。これは、パッチが基にしているコミットがリポジトリにない場合は機能しないためです。そのコミットがある場合 (パッチがパブリック コミットに基づいていた場合)、競合するパッチの適用に関しては、一般に -3 オプションの方がはるかに賢明です。
と
このアプローチのもう 1 つの利点は、コミットの履歴も取得できることです。正当なマージの問題があるかもしれませんが、彼らの仕事があなたの歴史のどこに基づいているかを知っています。-3を指定して、アクセスできるパブリックコミットからパッチが生成されたことを期待するのではなく、適切な3方向マージがデフォルトです。
では、プライベートコミットに基づいてパッチを適用できるということですか? パッチをコミットする際のファイルが貢献者の側に基づいていたため、マージ中に明らかな競合が発生するので、どのような意味があるのでしょうか?どうすればそれらを組み込むことができますか? これらのことは、プロジェクト メンテナーの観点から Progit で説明されているため、貢献者が開発の秘密のブランチに基づいてパッチを作成することはありません。