What is my disk quota?
GitHub tries to provide abundant storage for all Git repositories, although there are hard limits for file and repository sizes.
Tip: If you regularly push large files to GitHub, consider using Git Large File Storage (Git LFS). For more information, see "Versioning large files."
File and repository size limitations
To ensure good performance for our users, we recommend repositories be kept under 1GB each. Keeping repositories small ensures that our servers are fast and downloads are quick. If your repository does exceed 1GB, you might receive a email from GitHub Support asking you to reduce it.
Repositories have a hard size limit of 100GB. If you reach 75GB, you'll receive a warning from Git in your terminal the next time you push a change. In addition, we place a strict maximum size limit of 100 MB for individual files in a repository. For more information, see "Working with large files."
Note: If you add a file to a repository via a browser, the file can be no larger than 25 MB. For more information, see "Adding a file to a repository."
Backups
Git is not designed to serve as a backup tool. However, there are many solutions specifically designed for performing backups, such as Arq, Carbonite, and CrashPlan.
Database dumps
Version control systems, such as Git, are not designed to handle large SQL files. To share large databases with other developers, we recommend using Dropbox.
Git shouldn't be used to backup your production servers. For more information, see "Backups."
External dependencies
External dependencies can cause Git repositories to become very large. To avoid filling a repository with external dependencies, we recommend you use a package manager. Popular package managers for common languages include Bundler, Node's Package Manager, and Maven. These package managers support using Git repositories directly, so you don't need pre-packaged sources.
Packaged release versions
We don't recommend distributing compiled code and pre-packaged releases within your repository. For more information, see "Distributing large binaries."
Changing history of an existing repository
If you already have a repository that's quite large, you can reduce the size of a repository by removing large files from the repository's history. For more information, see "Removing files from a repository's history."