As of December, 2018 you can download all your GitHub data with the click of a button. However, as of August 2020, this still won't work if you have too many repositories and will result in a unicorn page:
When I emailed support, they suggested to use the official migration API to do the download.
So I wrote this python script to do just that. You can simply backup all the repos from Github using the official API.
Before you start, make sure to get a <secret token>
that has admin priveleges, see here.
> python -m pip install loguru click requests tqdm
> wget https://raw.githubusercontent.com/schollz/github-backup/master/github-backup.py
> python github-backup.py --user schollz --token <secret token>
MIT