What changed on your machine
After setup, GitGuise configures your system so you can work from the terminal without thinking about accounts.
- SSH keys are generated per profile in ~/.ssh/
- SSH config adds one Host alias per profile in ~/.ssh/config
- Hooks / wrappers (if enabled) are installed so git commands can auto-select the right identity
Add a profile
When you save a profile, GitGuise does the system setup automatically:
- Generates an SSH key (if missing) at ~/.ssh/id_ed25519_<label>
- Writes an SSH Host alias into ~/.ssh/config (for example github-work)
- Copies the public key and shows a guided “Add SSH key” step (GitHub / GitLab / Bitbucket)
The only manual step is adding that public key to your Git provider:
- GitHub: github.com/settings/ssh/new
- GitLab: gitlab.com/-/user_settings/ssh_keys
- Bitbucket: bitbucket.org/account/settings/ssh-keys/
Then verify from your terminal:
SSH host aliases
GitGuise uses SSH aliases like github-work or github-personal. Each alias maps to a specific key.
These aliases are the “secret sauce” behind consistent identity selection.
Cloning repos (SSH)
Clone using the profile alias format:
If you have a HTTPS URL, convert it by replacing the host:
Existing repos: check & fix remotes
Check what your repo is using:
Fix the remote to use an alias:
Set identity for that repo (local config):
Push flow (auto-detect)
If the Auto-detect on push hook is enabled, it will:
- Read your repo’s origin remote
- If it contains a known alias (e.g. github-work), GitGuise ensures the right user.email/user.name is set
- If the remote is HTTPS or unknown, it shows an interactive selector in the terminal
git init & git remote add
If enabled, GitGuise wraps these commands:
- git init: prompts which identity the repo belongs to, then sets local git config
- git remote add: if you paste a GitHub HTTPS URL, it can convert it into the correct SSH alias format
Disable / remove hooks
Open GitGuise → Settings → Hooks.
- Turn toggles off, then click Re-apply hooks
- Or click Remove all hooks to fully uninstall
Verify setup
Test SSH for a profile alias:
Expected output includes: You've successfully authenticated (or a “Hi …” message).
Verify a repo uses the right alias:
Troubleshooting
Windows: GitGuise requires Git for Windows (Git Bash) to run shell commands. Install from:
SSH issues: ensure your public key is added to GitHub and that ssh -T git@<alias> succeeds.
Wrong account on push: confirm your remote is using the expected alias:
Fallback selector keeps appearing: your remote may be HTTPS. Convert it: