
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
Clone exactly what you need aka straightforward project scaffolding!
š¦ Zero dependencies / Un/packed (~67/25kb) / Faster and more features yet drop-in replacement for degit
Just
copy-and-pasteany GitHub, GitLab or Bitbucket 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.
You can also try Interactive Mode. Browse any repo right in your terminal. See every file, pick what you want, skip what you don't. Just gitpick owner/repo -i and you're in. No more guessing paths.
# interactive mode - browse and pick files/folders
npx gitpick owner/repo -i
npx gitpick https://github.com/owner/repo -i
# 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
# clone from GitLab
npx gitpick https://gitlab.com/owner/repo
npx gitpick https://gitlab.com/owner/repo/-/tree/main/path/to/folder
# clone from Bitbucket
npx gitpick https://bitbucket.org/owner/repo
npx gitpick https://bitbucket.org/owner/repo/src/main/path/to/folder
# dry run (preview without cloning)
npx gitpick owner/repo --dry-run
npx gitpick owner/repo -i --dry-run
TanStack/router or full URL's https://github.com/TanStack/routergit clone-i | --interactive-r | --recursive--dry-run before cloning--tree-o | --overwrite--watch using intervals (e.g., 15s, 1m, 1h)--quiet for CI pipelines, debug mode with --verbose.gitpick.json / .gitpick.jsonc) for multi-path picksnpx gitpick <url/shorthand> [target] [options]
git cloneExamples:
npx 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 <url/shorthand> --dry-run # preview without cloning
npx gitpick https://<token>@github.com/owner/repo # private repository
npx gitpick https://gitlab.com/owner/repo # GitLab
npx gitpick https://bitbucket.org/owner/repo # Bitbucket
-b, --branch Branch/SHA to clone
-i, --interactive Browse and pick files/folders interactively
-n, --dry-run Show what would be cloned without cloning
-o, --overwrite Skip overwrite prompt
-r, --recursive Clone submodules
-w, --watch [time] Watch the repository and sync every [time]
(e.g. 1h, 30m, 15s)
--tree List copied files as a tree
-q, --quiet Suppress all output except errors
--verbose Show detailed clone information
-h, --help display help for command
-v, --version display the version number
New in v5.0. Browse any repository's file tree in your terminal and cherry-pick exactly the files and folders you want.
npx gitpick owner/repo -i
npx gitpick owner/repo -i -b canary
npx gitpick https://github.com/owner/repo -i
npx gitpick https://gitlab.com/owner/repo -i
Navigate with arrow keys, select with space, expand/collapse with enter, . to select all, c to confirm. Works with GitHub, GitLab, Bitbucket, public and private repos.
Use a personal access token with read-only contents permission. Works with GitHub, GitLab and Bitbucket:
npx gitpick https://<token>@github.com/owner/repo
npx gitpick https://<token>@gitlab.com/owner/repo
npx gitpick https://<token>@bitbucket.org/owner/repo
Or use environment variables (recommended for CI):
export GITHUB_TOKEN=ghp_xxxx # or GH_TOKEN
export GITLAB_TOKEN=glpat-xxxx
export BITBUCKET_TOKEN=xxxx
npx gitpick owner/private-repo # token is picked up automatically
Create a GitHub token š here with repo -> contents: read-only permission.
Create a .gitpick.json or .gitpick.jsonc in your project to pick multiple files/folders in one command:
// .gitpick.jsonc
[
// clone a repo without .git
"owner/repo",
"https://github.com/owner/repo",
// clone a folder aka tree
"owner/repo/tree/main/path/to/folder",
"https://github.com/owner/repo/tree/main/path/to/folder",
// clone a file aka blob
"owner/repo/blob/main/path/to/file",
"https://github.com/owner/repo/blob/main/path/to/file",
// clone a branch
"owner/repo -b canary",
"https://github.com/owner/repo -b canary",
"owner/repo/tree/canary",
"https://github.com/owner/repo/tree/canary",
// clone a commit SHA
"owner/repo -b cc8e93",
"https://github.com/owner/repo/commit/cc8e93",
// clone submodules
"owner/repo -r",
"https://github.com/owner/repo -r",
// clone a private repo
"https://<token>@github.com/owner/repo",
// GitLab
"https://gitlab.com/owner/repo",
"https://gitlab.com/owner/repo/-/tree/main/path/to/folder",
// Bitbucket
"https://bitbucket.org/owner/repo",
"https://bitbucket.org/owner/repo/src/main/path/to/folder",
]
Then just run:
npx gitpick
Each entry follows the same <url> [target] syntax as the CLI. All entries are cloned with -o (overwrite) by default.
npm install -g gitpick
gitpick <url/shorthand> [target] [options]
Check out more projects at github.com/nrjdalal
Contributions welcome - any help is appreciated!
Thank you for helping improve GitPick!
MIT ā LICENSE
FAQs
Clone exactly what you need aka straightforward project scaffolding!
The npm package gitpick receives a total of 4,168 weekly downloads. As such, gitpick popularity was classified as popular.
We found that gitpick demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Ā It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.