Skip to main content

GitID

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

GitID needs a persistent install so the shell alias can source its wrapper. Use pipx or uv tool install (not uvx):

pipx install gitid
# or: uv tool install gitid
gitid init bash   # bash, zsh, or ksh

If neither tool is available:

python3 -m pip install --user gitid
gitid init bash

Installation Issues

Some environments may not place the script on the path. If your shell can't find the gitid script, add the pipx/uv tool/user-scripts directory to PATH in your startup file:

export PATH="$PATH:<PATH_TO_GITID>"

Unsupported shell

gitid init supports bash, zsh, and ksh. For other shells, add an alias that sources the gitid wrapper (the script printed by gitid init bash on a machine with no startup file is a good template).

Workflow

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

To go back to the repository's own user.name / user.email in this session:

gitid unset

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

Metadata

Release files for gitid 0.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gitid 0.2.7
File Size Uploaded
gitid-0.2.7.tar.gz 8.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gitid 0.2.7
File Interpreter ABI Platform
gitid-0.2.7-py3-none-any.whl Python 3 none any Details

Total release size: 16.2 kB

Release files / gitid-0.2.7.tar.gz

Download URL gitid-0.2.7.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b359c3874e917fc5187b4725ced8f4461112dcc857b186f76102a5e9d9d7c1ce
BLAKE2b-256 checksum
How to use checksums
4d8c757da2851286df3521b391c8a11aec3f320ca4e04b74fe6b581d67480863
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / gitid-0.2.7-py3-none-any.whl

Download URL gitid-0.2.7-py3-none-any.whl
Size 8.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
050c97d4e5a464ba31c2e902cc73ac4442b815583433f2197974c963ed6358b4
BLAKE2b-256 checksum
How to use checksums
cd8831a0bd72bc4d8090c54979935761d4e017b29643782424e3f06338cec5a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.7 This release

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page