The github-files-fetcher is designed for downloading parts of a github repository. This is very useful if you have a low bandwidth network or only need a particular file or subdirectory from a large repository. If you want to download a whole repository, prefer git clone.
Run npm install -g github-files-fetcher
fetcher --url=resource_url  --out=output_directoryFor example:
fetcher --url="https://github.com/Gyumeijie/github-files-fetcher/blob/master/CHANGELOG.md" --out=/tmpThe default unauthorized API access rate is 60 times per hour, which is usually enough. You can surpass this with authentication, using one of the following three ways:
- 
The --auth commandline option This option takes the form of --auth=username:password, where the password can be either the login password for your github account or the personal access token which can be generated in https://github.com/settings/tokens.
- 
Default configuration file The default configuration file is ~/.download_github, and the config file is a json file.
- 
Designate via --file commandline option For example, you can use ~/config.jsonas configuration file.
 # download a directory
 fetcher --file="~/config.json" --url="https://github.com/reduxjs/redux/tree/master/examples/async" --out="~/" 
 
 # download a single file
 fetcher --file="~/config.json" --url="https://github.com/Gyumeijie/github-files-fetcher/blob/master/index.js" --out="~/" This is a template for the configuration file:
{
   "auth": {
        "username" : "your_github_name",
        "password" : "password_or_api_access_token"
   },
   "alwaysUseAuth" : true,
   "timeout" : 5000 
}When the default unauthorized API access rate exceeded, github-files-fetcher will automatically switch to use authentication if provided through one of the ways above.
github-files-fetcher requests resources without authentication by default to improve performance. However, this incurs a delay once the default unauthorized API access rate exceeded. To avoid this problem you can specify the --alwaysUseAuth option so github-files-fetcher always uses authentication.
node >= 6
There are some other good tools that function similarly:
- GitZip (Credits to Kino, Browser Extensions)
- DownGit (Credits to Minhas Kamal, Web Page)
