私は中央のgitリポジトリを持っており、私自身と数人の共同作業者が定期的にプッシュおよびプルしています。以前、私は誤って大きなバイナリブロブをコミットしましたが、これは完全に削除するにはリベースが必要であり、誰にとっても苦痛です。今後、これを防止したいと思います。プッシュされるファイルのファイルサイズをチェックし(ファイルが新しく追加されているか、既存のファイルが更新されているかどうか)、しきい値サイズ(2MBなど)を超えるファイルのプッシュを拒否するフックをリモートリポジトリに設定することは可能ですか?
重要なのは、手付かずの2MBを超える既存のファイルを許容できるようにすることです(したがって、プッシュによって2MBのファイルが追加されるか、既存のファイルが2MBに拡張される場合にのみ、2MBのファイルが既にリポジトリにある場合にプッシュが拒否されないようにする必要があります。 )。また、フックをリモート側で実行したいので、クライアントがフックを設定する必要がないことを心配する必要はありません。
編集:プッシュには複数のコミットを含めることができ、大きなファイルを含む1つのコミットでもリポジトリにスタックするため、/ anycommit/を含むプッシュから保護したいと思います。