A Git repository contains every version of every file. But for some file types, this is not practical. Multiple revisions of large files increase the clone and fetch times for other users of a repository.
Conditions for large files→
GitHub Enterprise Server limits the size of files allowed in repositories, and will block a push to a repository if the files are larger than the maximum file limit.
Removing files from a repository's history→
To remove a large file from your repository, you must completely remove it from your local repository and from your GitHub Enterprise Server instance.
Distributing large binaries→
Some projects require distributing large files, such as binaries or installers, in addition to distributing source code.