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 (app & terminal)
Already cloned a repo with HTTPS, or the wrong SSH key? Assign a GitGuise profile so remotes and local git identity stay consistent.
Option A — App (best for many repos)
- Open GitGuise → Repos
- Click Scan Folder and pick the parent folder that contains your projects
- Find the repo (filter by Unknown if it’s not linked yet)
- Click Switch Profile → choose the identity → confirm
GitGuise will for that repo:
- Set local user.email and user.name
- Rewrite origin to git@<alias>:OWNER/REPO.git
Then verify in the card (or in a terminal):
Option B — Terminal (manual)
Inside the repo, check what you’re on today:
Point origin at the profile alias (keep the real OWNER — org or username):
Set the repo-local identity to match that profile:
Option C — Terminal (push hook)
If Auto-detect on push is enabled in Settings → Hooks, you can fix an existing HTTPS/unknown remote by simply pushing:
When the remote isn’t a known alias, GitGuise opens an interactive selector in the terminal. Pick the profile — it sets local identity and rewrites origin for you.
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: