Skip to content

Download any repository or subdirectory on GitHub with support for Node.js and the CLI.

License

Notifications You must be signed in to change notification settings

cezaraugusto/go-git-it

Repository files navigation

go-git-it npm size workflow

Download any repository or subdirectory on GitHub with support for Node.js and the CLI

npx go-git-it <url> [outputDir]

Command line instructions

Use cases

# cwd is ~/mydevspace/

npx go-git-it https://github.com/username/repository
# copied remote content to ~/mydevspace/repository

npx go-git-it https://github.com/username/repository/tree/main/folder
# copied remote content to ~/mydevspace/folder

npx go-git-it https://github.com/username/repository/blob/main/folder/README.md
# copied remote content to ~/mydevspace/README.md

The second command argument is the output directory:

npx go-git-it https://github.com/username/repository path/to/outputDir
# copied remote content to path/to/outputDir/repository

Node interface

go-git-it can also run on a Node.js program.

Installation

npm install go-git-it

Usage

const goGitIt = require('go-git-it')

// Assume cwd is ~/mydevspace/

goGitIt('https://github.com/username/repository')
// copied remote content to ~/mydevspace/repository

goGitIt('https://github.com/username/repository/tree/main/folder')
// copied remote content to ~/mydevspace/folder

goGitIt('https://github.com/username/repository/blob/main/folder/README.md')
// copied remote content to ~/mydevspace/README.md

The second parameter is the output path:

const goGitIt = require('go-git-it')

// Assume cwd is ~/mydevspace/

goGitIt('https://github.com/username/repository', 'path/to/outputDir')
// copied remote content to path/to/outputDir/repository

API

goGitIt(url, outputDir?, text?)

url

Type: string

The URL to the path you want to download. If a folder, will download its content as well.

outputDir

Type: string

Custom path to the outputDir (defaults to the working directory)

text

Type: string

Adds a custom text message instead of default config. This option overrides the success message as well.

License

MIT (c) Cezar Augusto.

About

Download any repository or subdirectory on GitHub with support for Node.js and the CLI.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published