gs init <account>:<slice>- Create a workspace for one slice: checks every file out into the current empty directory.
gs init --lazy <account>:<slice> [dir]- Create a lazy workspace instead (Linux and macOS, with FUSE): the slice is mounted at dir in seconds (2.6 s for 4,500 files, cold), a file's content is fetched the first time something reads it (each first read is a server round trip; a walk of the whole tree, such as grep or a build, is read ahead of, and gs fetch first is fastest for work that reads everything), and your edits stay on this machine until gs create. Every other command works as in a checkout; gs sync and changeset switching move the mount without fetching. --prefetch <glob> warms files in the background; --read-only refuses writes.
gs workspace delete [dir]- Delete a workspace from this machine: unmount a lazy one and delete its state, or remove a checkout. Refuses while it has edits no changeset holds; --force discards them.
gs mount <dir>- Mount a lazy workspace again after gs unmount or a reboot, with its edits.
gs unmount <dir>- Unmount a lazy workspace; its edits are kept. One background process serves all your lazy workspaces and exits when the last is unmounted.
gs mount list- List your lazy workspaces, mounted or not (gs mount status shows fetches and errors, gs mount discard deletes one).
gs fetch [path...]- Fetch a lazy workspace's files ahead of time, for offline work or a build.
gs restore <path>... | --all- Drop local edits in a lazy workspace.
gs checkpoint [-m <message>]- Save a lazy workspace's edits on this machine, to come back to; nothing is uploaded. gs checkpoint list shows them, newest first. gs takes one by itself before sync, switch, restore and rewind.
gs rewind [checkpoint]- Put a lazy workspace's edits back as they were at a checkpoint (by default the newest that differs from now). What it replaces is checkpointed first, so a rewind can be undone.
gs fork <checkpoint> <dir>- Mount a new lazy workspace showing a checkpoint, on the base it was taken on, to try a second approach side by side.
gs shell- Open the server-backed file shell.
gs status- Show pending workspace edits.
gs diff- Inspect pending content changes, three lines of context around each (-U N to change).
gs ci- Run the slice's checks against your pending edits, locally.
gs log- Read recent accepted history.
gs blame <path>- Which commit and changeset last changed each line (--lines 10,20, --json).
gs show <commit>- Inspect an accepted native commit.