gitws

Never mix work/personal git again

Per-workspace SSH keys and aliases. Automatic identity per repo. Guard hooks to stop “oops” commits.

MIT Licensed Brew Tap: gitworkspaces/homebrew-tap macOS & Linux
brew tap gitworkspaces/homebrew-tap
brew install gitws

Who is gitws for?

Anyone juggling more than one Git identity and tired of manual SSH gymnastics.

👔

Employees & contractors

Keep corporate repos locked to a work identity—no accidental personal commits.

🧑‍💻

OSS maintainers

Contribute freely without contaminating your employer’s identity.

🛡️

Security-minded teams

Guard hooks block pushes from the wrong persona by mistake.

🚀

Speed freaks

Initialize, clone, and ship — no docs to memorize.

Why gitws beats manual SSH + gitconfig juggling

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

Set up in 60 seconds

Initialize workspaces → clone → guard.

1) Initialize workspaces

gitws init work --email you@work.com --host github
gitws init personal --email you@me.com --host github

2) Clone repos

gitws clone work XY-Corp/XY-Mind-Platform
gitws clone personal myorg/myrepo

3) Guard & verify

gitws doctor
gitws fix --yes --enable-guards

Works with your stack

  • • GitHub, GitLab, Bitbucket (or custom host via --host-name)
  • • macOS & Linux, Homebrew install
  • • No telemetry. Local-only operations.
  • • Idempotent edits with automatic backups
View source on GitHub ↗

Install with Homebrew

Two commands. That’s it.

brew tap gitworkspaces/homebrew-tap
brew install gitws

FAQ

Short answers to common questions.

Does gitws phone home?

No. There’s no telemetry. All operations happen locally on your machine.

Will this break my existing SSH config?

No. We write bounded “managed blocks” and create a backup before any change.

Which hosts are supported?

GitHub, GitLab, Bitbucket, plus custom hosts via --host-name.

Does it work with GitHub Desktop/VS Code?

Yes. Repos clone with the correct SSH alias, so your pushes use the right identity.