Workflows¶
The Quick Start owns the beginner create/clone path. Use Repository Member Lifecycle for member creation, publish-later setup, clone/add distinctions, detach/attach verification, and replacement. The recipes below start with an existing workspace.
Make A Multi-Repository Change¶
gwz status
gwz snapshot before-change
gwz forall -- cargo test
gwz add -A
gwz commit -m "Update shared API"
gwz status
If the change must be backed out to the snapshot:
Work In An Isolated Lane¶
Copy the workspace as it sits — uncommitted work and build output included —
into a named local clone beside it, work there, and merge the result back by
name. For a workspace at ./demo the default destination is ../demo-A:
gwz local clone A
cd ../demo-A
gwz status
# ... edit, gwz add, gwz commit ...
cd ../demo
gwz --target @all merge --remote A
gwz local dispose A
A lane whose owner column reads claude-code:<session id> was made by Claude
Code's worktree hook; see Claude Code.
The explicit @all selection brings across the lane's root and member commits
together. To integrate several lanes, merge them serially into this root, then
run one gwz push; see Local Clones.
To keep the tree and only forget the lane:
See Local Clones for the family model, the deletion rules, and what this build does not serve yet.
Inspect Workspace History¶
Start with the compact workspace stream, then expand only the entries you need:
Compare a topic across the selected repositories or inspect only a path:
For automation, select a machine framing before the command. JSON returns one
gwz.log/v0 object; JSONL streams a schema header followed by entry and
degradation records:
See gwz log for coalescing, filters, the default global
limit, revision operands, and exit behavior.
Prepare A Release Tag¶
gwz status
gwz forall -- cargo test
gwz snapshot release-candidate
gwz tag v0.9.0 -m "GWZ v0.9.0"
gwz tag --push v0.9.0
Verify the tag checkout:
Pull A Workspace Forward¶
Learn what moved upstream first. gwz fetch contacts every selected
repository's remote and reports one line each, integrating nothing:
See gwz fetch for the row kinds and the exit codes.
Then preview the integration:
Then update:
If a remote host is slow or overloaded:
Run Maintenance In Members¶
Run a direct command:
Run a shell command that uses GWZ environment variables:
Continue through failures and report the failed members at the end:
Script Member Paths¶
Human gwz ls output is one path per line:
For structured member metadata:
For stable status path output: