{"id":35823190,"url":"https://github.com/lucasnevespereira/go-gituser","last_synced_at":"2026-04-26T16:00:32.592Z","repository":{"id":55602655,"uuid":"320589849","full_name":"lucasnevespereira/go-gituser","owner":"lucasnevespereira","description":"Switch between git accounts easily","archived":false,"fork":false,"pushed_at":"2026-04-26T15:12:30.000Z","size":2511,"stargazers_count":36,"open_issues_count":2,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-26T15:14:17.566Z","etag":null,"topics":["cli","command-line","command-line-tool","git","go","golang","linux","macos","open-source","opensource","producitivity","productivity","ssh","ssh-cli","ssh-client","ssh-key"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasnevespereira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-11T14:02:11.000Z","updated_at":"2026-04-26T14:52:21.000Z","dependencies_parsed_at":"2026-04-26T16:00:28.753Z","dependency_job_id":null,"html_url":"https://github.com/lucasnevespereira/go-gituser","commit_stats":null,"previous_names":[],"tags_count":52,"template":false,"template_full_name":null,"purl":"pkg:github/lucasnevespereira/go-gituser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasnevespereira%2Fgo-gituser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasnevespereira%2Fgo-gituser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasnevespereira%2Fgo-gituser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasnevespereira%2Fgo-gituser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasnevespereira","download_url":"https://codeload.github.com/lucasnevespereira/go-gituser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasnevespereira%2Fgo-gituser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32303177,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line","command-line-tool","git","go","golang","linux","macos","open-source","opensource","producitivity","productivity","ssh","ssh-cli","ssh-client","ssh-key"],"created_at":"2026-01-07T18:55:31.544Z","updated_at":"2026-04-26T16:00:32.587Z","avatar_url":"https://github.com/lucasnevespereira.png","language":"Go","funding_links":["https://github.com/sponsors/lucasnevespereira"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/inline-logo.png\" alt=\"logo\" width=\"400\" style=\"padding: 20px;\" /\u003e\n  \u003ch3\u003e\u003cem\u003eSwitch between git accounts easily\u003c/em\u003e\u003c/h3\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/lucasnevespereira/go-gituser/releases/latest\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/v/release/lucasnevespereira/go-gituser?style=flat\u0026logo=github\" alt=\"Latest Release\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/lucasnevespereira/go-gituser/actions/workflows/release.yml\"\u003e\n      \u003cimg src=\"https://github.com/lucasnevespereira/go-gituser/actions/workflows/release.yml/badge.svg\" alt=\"Build Status\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/lucasnevespereira/go-gituser/stargazers\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/stars/lucasnevespereira/go-gituser?style=flat\u0026logo=github\" alt=\"Stars\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/lucasnevespereira/go-gituser/network/members\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/forks/lucasnevespereira/go-gituser?style=flat\u0026logo=github\" alt=\"Forks\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/lucasnevespereira/go-gituser/issues\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/issues/lucasnevespereira/go-gituser?style=flat\u0026logo=github\" alt=\"Issues\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/lucasnevespereira/go-gituser/graphs/contributors\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/contributors/lucasnevespereira/go-gituser?style=flat\u0026logo=github\" alt=\"Contributors\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/sponsors/lucasnevespereira\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Sponsor-GitHub-333333?style=flat\u0026logo=github\u0026logoColor=white\" alt=\"Sponsor\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"LICENSE\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/License-MIT-green.svg?style=flat\" alt=\"MIT License\" /\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## Table of Contents\n\n- [Overview](#overview)\n- [What It Automates](#what-it-automates)\n- [Account Modes](#account-modes)\n- [Features](#features)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Commands](#commands)\n- [Advanced Features](#advanced-features)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Overview\n\nAs a user of multiple git accounts, I needed to switch regularly between my student, professional, and personal profiles. Manually updating configs, loading SSH keys, and keeping track of identities quickly became tedious.\n\nSo I built this open source CLI tool to streamline the whole process.\n\nGitUser helps you switch between different git accounts effortlessly. It automates all the necessary configuration commands: username, email, GPG signing, SSH key loading, so you can focus on coding instead of fiddling with your setup.\n\nWhether you're pushing to school projects, personal repos, or work-related codebases, GitUser makes sure you're always using the right identity with a single command.\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/demo.png\" alt=\"demo\" width=\"600\" heigth=\"400\" style=\"border-radius: 20px; padding: 10px;\" /\u003e\n\u003c/div\u003e\n\n## What It Automates\n\nInstead of manually running these commands every time you switch projects:\n\n```bash\ngit config --global user.name \"yourUsername\"\ngit config --global user.email \"yourEmail\"\ngit config --global user.signingkey \"yourSigningKeyID\"\ngit config --global commit.gpgsign true\nssh-add ~/.ssh/your_ssh_key\n```\n\nJust run `gituser work` ✨\n\n## Account Modes\n\nThere is currently 3 modes available:\n\n- 💻 \u003cb\u003ework\u003c/b\u003e : for a work related git account.\n- 📚 \u003cb\u003eschool\u003c/b\u003e : for a school related git account.\n- 🏠 \u003cb\u003epersonal\u003c/b\u003e : for a personal related git account.\n\n## Features\n\n- **🔄 Instant Account Switching** - Switch between work, school, and personal accounts\n- **🔧 Complete Git Configuration** - Manages username, email, and GPG signing\n- **🗝️ SSH Key Management** - Automatically loads the correct SSH key for each account\n- **🎯 Interactive Setup** - Guided wizard to configure all your accounts\n- **🛡️ Secure** - Each account uses its own SSH key for isolation\n- **🚀 Zero Configuration After Setup** - One command switches everything\n\n## Installation\n\n### Homebrew (Recommended)\n\n```\nbrew tap lucasnevespereira/tools\n```\n\n```\nbrew install gituser\n```\n\nor\n\n```\nbrew install lucasnevespereira/tools/gituser\n```\n\n### Go Install\n\n```bash\ngo install github.com/lucasnevespereira/go-gituser@latest\n```\n\n### Manual Installation\n\nMake sur your bin path is in your `$PATH`, you can check in your `.zshrc` or `.bash` file.\n\n_e.g_\n\n```shell\nexport PATH=\"$HOME/bin:$PATH\"\n```\n\nRun the following command from the root of the project:\n\n```\nmake install\n```\n\n\u003cem\u003eThis will build gituser and move it to your `$HOME/bin`\u003c/em\u003e\n\n## Quick Start\n\nSetup your accounts:\n\n```bash\ngituser setup\n```\n\nSwitch between accounts:\n\n```bash\ngituser work      # Switch to work account\ngituser personal  # Switch to personal account\ngituser school    # Switch to school account\n```\n\nCheck current account:\n\n```bash\ngituser now\n```\n\n## Commands\n\n| Command                | Description                                                    |\n| ---------------------- | -------------------------------------------------------------- |\n| **Account Management** |                                                                |\n| `gituser setup`        | Interactive setup for all accounts (username, email, GPG, SSH) |\n| `gituser work`         | Switch to work account                                         |\n| `gituser personal`     | Switch to personal account                                     |\n| `gituser school`       | Switch to school account                                       |\n| **Information**        |                                                                |\n| `gituser now`          | Show current active account                                    |\n| `gituser info`         | Display all configured accounts                                |\n| **SSH Management**     |                                                                |\n| `gituser ssh list`     | List SSH keys currently loaded                                 |\n| `gituser ssh discover` | Find existing SSH keys on your system                          |\n| `gituser ssh test`     | Test SSH connections to GitHub/GitLab                          |\n| `gituser ssh guide`    | Show SSH setup guide                                           |\n| **Help**               |                                                                |\n| `gituser help`         | Show help information                                          |\n| `gituser manual`       | Show detailed manual                                           |\n| `gituser quickstart`   | Show quick start guide                                         |\n\n## Advanced Features\n\n### SSH Key Management\n\nGitUser automatically handles SSH keys for each account:\n\n- **Auto-discovery** - Finds existing SSH keys on your system\n- **Key generation** - Helps create new SSH keys during setup\n- **Automatic switching** - Loads the correct SSH key when switching accounts\n- **Connection testing** - Verifies SSH setup works with GitHub/GitLab\n\n### GPG Signing\n\nConfigure different GPG keys for each account to enable signed commits with proper identity verification.\n\n## Contributing\n\nIf you want to contribute to this project please read the [Contribution Guide](CONTRIBUTING.md).\n\n\u003chr\u003e\n\n## License\n\nThis project is under [MIT LICENSE](LICENSE)\n\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cstrong\u003e⭐ If GitUser helps you, please consider giving it a star!\u003c/strong\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasnevespereira%2Fgo-gituser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasnevespereira%2Fgo-gituser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasnevespereira%2Fgo-gituser/lists"}