注:以下の回答は実際には別のポリシーを参照している必要があります(コメントを参照)。ビルドポリシーは、ビルドが壊れている場合にチェックインを停止します。これは、ゲートチェックインも使用している場合は発生しません。これは、両方を持つことにはほとんどメリットがないことを意味します。
ビルドチェックインポリシーでは、チェックインする前にマシン上でコードをビルドする必要があります。
ゲートチェックインは変更をシェルフし、tfsビルドサーバービルド(および単体テストなどの他のビルド)を実行します。ビルドが合格すると、シェルフセットがソース管理にマージされます。ビルドが失敗した場合、ポップアップが表示され、コードをコミットする前に問題を修正する必要があります。
チェックインポリシーを使用すると、チェックインからファイルを見逃す可能性があります。つまり、他の開発者向けにビルドされません。ゲートチェックインは、ソース管理ビルドにあるものを保証します。
チェックインポリシーはビルドにボックスを使用するため、ビルドサーバーにそれほど負担がかからないため、キューが短いほど十分なビルドサーバーを実行するためのリソースがない場合に役立ちます。ゲートチェックインの前にチェックインポリシーを設定すると、サーバーの時間を浪費するビルドの失敗数を減らすのに役立ちます。したがって、両方を有効にすることには利点があります。
ビルドサーバーが過負荷の場合、ゲートチェックインにより、他の開発者がビルドが行われるのを待つ間、コードにアクセスするのが遅れる可能性があります。