Everything new for users since 5.4.
✨ New
Turn a clone into a git repo — --init / --auto-commit / --commit (6.0)
gitpick strips .git when cloning; these flags put one back so you can start tracking your scaffold in a single step:
--init— initialize the cloned output as a new git repository--auto-commit—--init+ an initial commit with messagechore: gitpick'ed--commit "<msg>"—--init+ an initial commit with your own message
gitpick owner/repo my-app --commit "feat: scaffold from template"
gitpick owner/repo my-app --auto-commitBoth commit flags imply --init. Staging is scoped to exactly what was cloned, so unrelated files already sitting in the target are never swept into the commit — and a .gitignore that came down with the clone won't block it.
.gitpickignore (5.5)
Drop a .gitpickignore at the root of the picked path to exclude matching files from the copy, using familiar gitignore-style patterns (*, **, ?, trailing / for dir-only, ! to re-include).
# .gitpickignore
*.log
build/
!build/keep.txt
🐛 Fixes
- Slash-containing branches now work (5.5.1) — URLs like
owner/repo/tree/feat/my-branch/srcresolve the real branch instead of failing withError: git checkout feat. Works across GitHub, GitLab, Bitbucket and Codeberg, and the common single-segment case stays network-free. - Symlink re-picks (5.5) — re-running a pick into an existing directory no longer errors with
EEXISTon symlinks; they overwrite cleanly like regular files.
Install: npx gitpick@latest … or npm i -g gitpick