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.
GitHub doesn't have any set user disk quotas. We try to provide abundant storage for all Git repositories, although there are hard limits for file and repository sizes. Keeping repositories small ensures that our servers are fast and downloads are quick for our users.