Per-workspace SSH keys and aliases. Automatic identity per repo. Guard hooks to stop “oops” commits.
brew tap gitworkspaces/homebrew-tap
brew install gitws
Anyone juggling more than one Git identity and tired of manual SSH gymnastics.
Keep corporate repos locked to a work identity—no accidental personal commits.
Contribute freely without contaminating your employer’s identity.
Guard hooks block pushes from the wrong persona by mistake.
Initialize, clone, and ship — no docs to memorize.
| Feature | Manual | gitws |
|---|---|---|
| Per-workspace SSH keys | Guide-driven, error-prone | Auto-generated & labeled |
| Host aliases | Hand-edit ~/.ssh/config |
Idempotent managed blocks |
| Per-repo identity | Remember to set each repo | Applied on clone + fix |
| Safety guards | DIY hooks | Pre-commit/push guard installer |
| Repeatability | Brittle | Idempotent + backups |
Initialize workspaces → clone → guard.
gitws init work --email you@work.com --host github
gitws init personal --email you@me.com --host github
gitws clone work XY-Corp/XY-Mind-Platform
gitws clone personal myorg/myrepo
gitws doctor
gitws fix --yes --enable-guards
--host-name)Two commands. That’s it.
brew tap gitworkspaces/homebrew-tap
brew install gitws
Short answers to common questions.
No. There’s no telemetry. All operations happen locally on your machine.
No. We write bounded “managed blocks” and create a backup before any change.
GitHub, GitLab, Bitbucket, plus custom hosts via --host-name.
Yes. Repos clone with the correct SSH alias, so your pushes use the right identity.