README.md
February 5, 2026 ยท View on GitHub
Plugin for managing multiple git profiles.

Installation
oh-my-zsh
git clone https://github.com/baliestridev/gitprofiles.plugin.zsh.git $ZSH_CUSTOM/plugins/gitprofiles
~/.zshrc
plugins=(... gitprofiles)
zinit
zinit light baliestridev/gitprofiles.plugin.zsh
zi
zi light baliestridev/gitprofiles.plugin.zsh
zgenom
zgenom load baliestridev/gitprofiles.plugin.zsh
zplug
zplug baliestridev/gitprofiles.plugin.zsh
antidote
Add the following to your .zsh_plugins.txt file for antidote:
baliestridev/gitprofiles.plugin.zsh
Usage
Define where your profiles are stored
# ~/.zshrc
zstyle ":baliestridev:git:profile" path "$HOME/.config/git/profiles"
Add a new profile
# ~/.config/git/profiles
[profile "default"]
name = Bruno Sales
email = me@baliestri.dev
# signingkey = 1234567890
[profile "work"]
name = Bruno Sales
email = work@baliestri.dev
# signingkey = 1234567890
paths = "/home/baliestri/work"
[profile "personal"]
name = Bruno Sales
email = personal@baliestri.dev
# signingkey = 1234567890
paths = "~/personal",
"~/src/personal/*",
"~/src/mytopsecretproject"
Multiple paths can be defined for a profile, separated by either newline or commas. The paths are processed in the order they are defined, with exact matches taking precedence over wild card matches. Tildes are expanded to ${HOME}.
It is possible to get debug information by setting the GP_DEBUG environment variable to any value within your current session.