Clone exactly what you need aka straightforward project scaffolding!
https://github.com/nrjdalal/gitpick.git
Clone exactly what you need aka straightforward project scaffolding!
๐ฆ Zero dependencies / Un/packed (<35/15kb) / Faster and more features yet drop-in replacement for degit
#### Justcopy-and-pasteany GitHub URL - no editing required (shorthands work too) - to clone individual files, folders, branches, commits, raw content or even entire repositories without the.gitdirectory.
Unlike other tools that force you to tweak URLs or follow strict formats to clone files, folders, branches or commits GitPick works seamlessly with any URL.
# clone a repo without .git
npx gitpick owner/repo
npx gitpick https://github.com/owner/repo
# clone a folder aka tree
npx gitpick owner/repo/tree/main/path/to/folder
npx gitpick https://github.com/owner/repo/tree/main/path/to/folder
# clone a file aka blob
npx gitpick owner/repo/blob/main/path/to/file
npx gitpick https://github.com/owner/repo/blob/main/path/to/file
# clone a branch
npx gitpick owner/repo -b canary
npx gitpick https://github.com/owner/repo -b canary
npx gitpick owner/repo/tree/canary
npx gitpick https://github.com/owner/repo/tree/canary
# clone a commit SHA
npx gitpick owner/repo -b cc8e93
npx gitpick https://github.com/owner/repo/commit/cc8e93
# clone submodules
npx gitpick owner/repo -r
npx gitpick https://github.com/owner/repo -r
# clone a private repo
npx gitpick https://<token>@github.com/owner/repo
git cloneTanStack/router or full URL's https://github.com/TanStack/router-o | --overwrite-r | --recursive--watch using intervals (e.g., 15s, 1m, 1h)npx gitpick <url/shorthand> [target] [options]
git clonenpx gitpick https://github.com/owner/repo # repo without .git
npx gitpick owner/repo/tree/main/path/to/folder # a folder aka tree
npx gitpick owner/repo/blob/main/path/to/file # a file aka blob
npx gitpick <url/shorthand> # default git behavior
npx gitpick <url/shorthand> [target] # with optional target
npx gitpick <url/shorthand> -b [branch/SHA] # branch or commit SHA
npx gitpick <url/shorthand> -o # overwrite if exists
npx gitpick <url/shorthand> -r # clone submodules
npx gitpick <url/shorthand> -w 30s # sync every 30 seconds
npx gitpick https://<token>@github.com/owner/repo # private repository
-b, --branch Branch/SHA to clone
-o, --overwrite Skip overwrite prompt
-r, --recursive Clone submodules
-w, --watch [time] Watch the repository and sync every [time]
(e.g. 1h, 30m, 15s)
-h, --help display help for command
-v, --version display the version number
Use a GitHub personal access token (create one ๐ here) with repo -> contents: read-only permission:
npx gitpick https://<token>@github.com/owner/repo
npm install -g gitpick
gitpick <url/shorthand> [target] [options]
Check out more projects at github.com/nrjdalal
Contributions welcome โ any help is appreciated!
MIT โ LICENSE