Backup GitHub repositories locally. This tool mirrors all public repositories of a GitHub user and all of the organizations that user is publicly a member of. If the repositories already exist on disk, they are updated. This script is meant to be run as a cron job.
The program uses the GitHub API to discover repositories, and by default it accesses it unauthenticated, which subjects it to lower rate limits. For most people running this every few hours won't be a problem. If you start getting 403 Forbidden errors, you can create a personal access token and store it in the GITHUB_ACCESS_TOKEN environment variable to get a higher rate limit.
- Install Node.js
- Run
npm install -g github-backup
$ github-backup username path
- Add ability to specify single individual repository as in "user/repository" or "organization/repository".
- Discover and backup private repositories.