https://github.com/florianhegele/git-switch
A simple and efficient tool to easily manage multiple Git accounts per project
https://github.com/florianhegele/git-switch
account easy git github gitlab manager profile
Last synced: about 2 months ago
JSON representation
A simple and efficient tool to easily manage multiple Git accounts per project
- Host: GitHub
- URL: https://github.com/florianhegele/git-switch
- Owner: FlorianHegele
- License: gpl-3.0
- Created: 2025-04-13T16:35:11.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-13T16:40:57.000Z (about 1 year ago)
- Last Synced: 2025-04-13T17:39:45.354Z (about 1 year ago)
- Topics: account, easy, git, github, gitlab, manager, profile
- Language: Shell
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# git-switch
A simple and efficient tool to easily manage multiple Git accounts per project.
## Description
`git-switch` allows you to quickly switch between different Git accounts (username, email, GPG key) based on your projects. Ideal for developers who work with multiple Git accounts (personal, professional, open-source, etc.) and want to avoid configuration errors.
## Features
- Management of multiple Git profiles (name, email, GPG key)
- Per-project configuration
- Easy installation and uninstallation
## Installation
After cloning this repository, simply run:
```bash
chmod +x ./install.sh
sudo ./install.sh
```
## Usage Examples
```bash
# Add a new account
git-switch -a personal
# List all available accounts
git-switch -l
# Use a specific account for the current project
git-switch -u professional
# Display help
git-switch -h
```
## Configuration
Accounts are stored in `~/.config/git-switch/account/*.conf`
### Checking the active configuration
To check the active Git configuration in a project:
```bash
git config user.name
git config user.email
git config user.signingkey
```
## Uninstallation
To uninstall git-switch from the system:
```bash
chmod +x ./uninstall.sh
sudo ./uninstall.sh
```