git-identity
A while ago (July 2026), I wrote a tool called git-identity. It had a simple job, provide a quick way to switch between different identities (name & email pairs). Why would I do this? Well when you're more than one, it becomes kinda important (at least to me), to keep track of who did what. While I won't say that the others here are incompetent developers who introduce 10 new bugs in every commit, but I also won't say they're the best. Now if you were to ask them about me, they'd probably say the same thing, that I may or may not introduce 10 new bugs in every commit.
So after that short backstory, now time to talk a bit about git-identity. It's simply a shell1 script that provides the following subcommands:
list: List all available identitiesrebase: Rebase prior commits to current identityswitch: Switch identitywhoami: Print the current identity
There's not much to it. The script loads JSON files located in $XDG_CONFIG_HOME/identities/ and extracts a .name and .email field from them. From there, it calls git-config. It isn't particularly extravagant but it solved a problem that we had and I see that as perfectly fair. For git-identity-rebase, the script calls git-filter-repo to mass edit all previous commits.
Cheers and have a lovely day~, Eryn Vineyard Bash ↩Footnotes
Last edited
