Tip: If you regularly push large files to GitHub, consider using Git Large File Storage (Git LFS). For more information, see "Versioning large files."
To ensure performance and reliability for our users, we actively monitor signals of overall repository health. Repository health is a function of various interacting factors, including size, commit frequency, contents, and structure.
We recommend repositories remain small, ideally less than 1 GB, and less than 5 GB is strongly recommended. Smaller repositories are faster to clone and easier to work with and maintain. Individual files in a repository are strictly limited to a 100 MB maximum size limit. For more information, see "Working with large files."
If your repository excessively impacts our infrastructure, you might receive an email from GitHub Support asking you to take corrective action. We try to be flexible, especially with large projects that have many collaborators, and will work with you to find a resolution whenever possible. You can prevent your repository from impacting our infrastructure by effectively managing your repository's size and overall health. You can find advice and a tool for repository analysis in the
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."
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 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.
We don't recommend distributing compiled code and pre-packaged releases within your repository. For more information, see "Distributing large binaries."
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."