gritzko
GET exports git trees from repo into the worktree: clone, switch branch, detach, or restore in git's terms. It never changes history — it only resets the worktree to a chosen version, maybe re-applying uncommitted changes. The exact action is defined by the shape of the URI:
? is the trunk, see URI, be get...
?feat — switch wt+cur to branch feat
?./fix — enter a child branch (?../sib a sibling)
? — switch to the trunk
?abc1234 — detached checkout at a sha
#~1 — rewind cur one commit, reset the wt
file.c — restore one file from cur's baseline
file.c?feat — get file.c from feat's tip
//origin?feat — reset from the cached tip (no network)
ssh://host?feat — fetch, then checkout
ssh://host/repo.git — clone: fetch + checkout (recurses subs)
file:../proj?feat — wire an empty cwd as a sibling worktree
— (empty) bare: FF the wt to cur's branch tip
?ref to a tip sha,get row (the new base branch + tip hash),patch parents; cur is read back from it.
be get! resets the worktree to a clean state, all local changes discarded.