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.

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 needed. 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/nova→ Nova

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

Auto-assignment rules

Declarative rules match repos on path, remote URL, host, or owner — the right identity is assigned the moment you open a repository.

path~/work/acme-*
remotegithub.com/acme/*
owneracme-org