| Crates.io | gitshift |
| lib.rs | gitshift |
| version | 1.1.0 |
| created_at | 2025-01-27 21:44:11.20754+00 |
| updated_at | 2025-06-14 11:51:06.714335+00 |
| description | Git SSH for managing multiple GitHub accounts |
| homepage | https://github.com/rohansen856/gitshift |
| repository | https://github.com/rohansen856/gitshift |
| max_upload_size | |
| id | 1532963 |
| size | 48,855 |
A secure CLI tool for managing multiple GitHub accounts with SSH keys. Switch between work and personal accounts seamlessly! 🔐
[]
cargo install --git https://github.com/rohansen856/gitshift.git
# Nightly required or edition2024 support
cargo +nightly install gitshift
gitshift add --name work --algorithm ed25519
gitshift ls
gitshift activate work
gitshift clone git@github.com:company/project.git
~/.config/gitshift/
├── config.json # Account configurations
├── state.json # Active account state
└── ssh_keys/ # SSH key storage (700 permissions)
[
{
"name": "work",
"email": "dev@company.com",
"ssh_key_path": "~/.config/gitshift/ssh_keys/work_id",
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1..."
}
]
Command | Description | Example add | Create new account | gitshift add ls | List accounts | gitshift ls activate | Switch account | gitshift activate personal clone | Clone repository | gitshift clone git@github.com:user/repo.git info | Show account details | gitshift info work
git clone https://github.com/rohansen856/gitshift.git
cd gitshift
cargo build --release
Q: Getting "Permission denied" when cloning A:
Verify active account: gitshift ls
Check GitHub SSH setup: ssh -T git@github.com
Confirm key permissions: ls -la ~/.config/gitshift/ssh_keys
Q: Error saving configuration A: Ensure proper directory permissions:
chmod 700 ~/.config/gitshift