| Crates.io | git-thing |
| lib.rs | git-thing |
| version | 0.1.0 |
| created_at | 2025-11-04 12:31:01.86143+00 |
| updated_at | 2025-11-04 12:31:01.86143+00 |
| description | A cli tool to manage multiple git profiles |
| homepage | |
| repository | https://github.com/Goitseone-Themba/git-thing.git |
| max_upload_size | |
| id | 1916208 |
| size | 1,363,206 |
A simple and efficient command-line tool to manage multiple Git profiles. Switch between different Git user profiles (work, personal, etc.) with a single command.
You can install git-thing in one of two ways: download the prebuilt binary, or build from source.
Download the released binary and place it in /usr/bin so it's available system-wide:
# download the binary (use the raw file URL)
curl -L -o git-thing https://raw.githubusercontent.com/Goitseone-Themba/git-thing/master/git-thing
# make it executable
chmod +x git-thing
# move to /usr/bin (requires sudo)
sudo mv git-thing /usr/bin/git-thing
# (optional) ensure ownership and permissions
sudo chown root:root /usr/bin/git-thing
sudo chmod 755 /usr/bin/git-thing
After this the git-thing command will be available from your shell. (If you prefer a user-scoped location, move the binary into ~/bin or $HOME/.local/bin instead.)
Clone the repository:
git clone https://github.com/Goitseone-Themba/git-thing.git
cd git-thing
Build and install:
cargo install --path .
This will install the git-thing binary to your Cargo bin directory (usually ~/.cargo/bin/).
(Optional) Add the Cargo bin directory to your PATH if it's not already:
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc # or ~/.zshrc
source ~/.bashrc # or ~/.zshrc
git-thing add \
--profilename work \
--username work-username \
--email work@example.com \
--personal-access-key your-github-token
Or using short flags:
git-thing add -p work -u work-username -e work@example.com -k your-github-token
git-thing list
git-thing switch --profile work
Or using short flag:
git-thing switch -p work
Update any field of an existing profile. Only the fields you specify will be updated.
# Update just the email
git-thing update --profilename work --email new.email@example.com
# Update multiple fields
git-thing update -p work -u newusername -k newtoken123
Remove a profile that you no longer need:
git-thing delete --profilename oldprofile
Or using short flag:
git-thing delete -p oldprofile
~/.config/git-thing/config.json~/.git-credentials)Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.