Skip to content
GitPersonaGitPersona

Introduction

GitPersona is a desktop application for managing multiple Git identities and switching between them safely. It keeps your Git config, SSH keys, and HTTPS credentials in sync with whichever account a repository belongs to — so you never author a commit as the wrong person again.

The problem

If you work across more than one Git account — a personal one, an employer's, a client's — a single machine has to juggle several identities at once. Git itself has no concept of "who am I right now"; it just reads whatever user.name and user.email happen to be configured, globally or per repository.

The usual workarounds are fragile and easy to get subtly wrong:

  • Editing ~/.gitconfig by hand every time you switch context.
  • Hand-maintaining includeIf conditional includes, per-host SSH aliases, and credential-helper entries that drift out of sync.
  • Discovering the mistake only after a commit is pushed under the wrong email.

What GitPersona does

GitPersona models each identity as a profile and makes the whole identity — author name and email, an optional signing key, an SSH key, and an HTTPS credential — switch together as a unit. It manages the same standard Git mechanisms you would configure by hand, with validation on top.

  • Profiles bundle a Git identity you can activate globally or bind to specific repositories.
  • SSH keys and HTTPS credentials attach to a profile and follow it when it activates.
  • Rules and Smart Switchingapply the right profile automatically based on a repository's path or remote.

How it works

GitPersona runs entirely on your machine. Applying a profile writes standard Git configuration and updates a managed block in your SSH config; per-repository assignments pin the identity into that repository's local Git config. Secrets — HTTPS tokens — are stored in your operating system's credential vault, never in GitPersona's own data files.

Note: GitPersona is local-first. Core functionality — creating profiles, switching identities, managing keys, applying rules — works fully offline and requires no account.

What GitPersona is not

  • It is not a Git replacement. Your existing Git commands, hosts, and workflows are untouched.
  • It does not rewrite history or touch your working tree. It only manages configuration, keys, and credentials.
  • It is not a key generator for signing. GPG signing references a signing key you already have (see GPG signing).

Next steps