GitPersonaGitPersona
Features

Everything you need.
Nothing you don't.

One job — keeping your Git identity correct — done completely.

Multiple Git profiles

Name, email, signing key, and credentials as one unit.

SSH key manager

Generate, import, and route keys per profile.

Credential manager

Tokens in your OS keychain. Never plaintext.

Repository mapping

Bind folders to profiles. Rules assign automatically.

Rule-based assignment

Match on path, remote, host, or owner.

Smart Switching

A watcher activates the right identity — no click.

Switch confirmation

Require approval before any identity change.

Commit Guard

Verify your Git name and email before each commit — warn or block.

Beautiful desktop UI

Native-feeling, keyboard-driven, out of your way.

Fast performance

Sub-second switches. Instant launch. Sips memory.

Cross platform

Windows, Linux, and macOS.

Offline first

No account, no server, no telemetry.

Secure local storage

Secrets in your keychain. Config stays local.

The solution

Everything switches together.

GitPersona treats an identity as one atomic unit — config, keys, credentials, and repo bindings. Change one thing, and everything that depends on it follows.

One-click switching

Pick a profile. Git config, SSH keys, and credentials update everywhere in under a second.

PersonalAcme CorpClient — Nova
✓ config · ✓ SSH · ✓ credentials

Repository mapping

Bind folders or glob patterns to identities. Enter the directory — the right identity is already active.

~/work/*Acme Corp
~/dev/*Personal
~/clients/novaNova

Credential management

Per-profile GitHub credentials stored in your OS keychain. No more cached-token surprises.

github.comsara-codes ●●●●
github.com (work)sara-acme ●●●●
stored in OS keychain

SSH management

GitPersona maintains host aliases and identity files, so each remote always resolves to the right key.

Host github.com-personal
IdentityFile ~/.ssh/id_personal
managed automatically ✓

Git config automation

Name, email, and signing key written per profile, per repo — never hand-edited again.

# .gitconfig — written for you
[user]
  name = Sara Kim
  email = sara@hey.com
  signingkey = 4AEE18F8

Commit Guard

An optional pre-commit hook checks your Git name and email match the repository's profile — warning or blocking a mismatched commit. Existing hooks are preserved.

user.name matches profile
user.email matches profile
warn or block on mismatch