GitID is a command-line tool for managing multiple git identities on the same machine. This is particularly useful for shared machines where multiple people develop in the same workspaces, which is in some cases unavoidable.
With GitID, users can store their git identities and quickly load them in their shell, so their commits are marked with their name and email.
Note that GitID only sets commit authors and committers, and does not affect authorization.
Installation is easy:
pip install gitid
gitid init bash # change to your shell of choice
Some environments may not place the script on the path. If your shell can't find the gitid
script, you can do one of the following:
Install with sudo:
sudo -H pip install gitid
Or add the following snippet to your ~/.bashrc
(or equivalent startup file):
export PATH="$PATH:<PATH_TO_GITID>"
If your shell is unsupported by gitid init
, simply add alias gitid="source gitid"
to the appropriate startup file of your shell.
Suppose both Frodo Baggins and Samwise Gamgee want to develop on the same computer. They would add their git identities like so:
gitid add frodo "Frodo Baggins" frodo@shire.com
gitid add sam "Samwise Gamgee" sam@shire.com
Now Frodo wants to write some code:
gitid set frodo
... git commands ...
git commit # This commit is marked with "Frodo Baggins <frodo@shire.com>" as the committer and author
Separately, possibly at the same time (in a different session), Samwise also wants to write code:
gitid set sam
... git commands ...
git commit # This commit is marked with "Samwise Gamgee <sam@shire.com>" as the committer and author
All identities can be viewed:
gitid list
Which outputs: (*
marks the active identity)
Stored identities:
( ) frodo: Frodo Baggins <frodo@shire.com>
(*) sam: Samwise Gamgee <sam@shire.com>
Identities can also be removed:
gitid remove frodo # removes Frodo's identity
gitid clear # removes all stored identities