{"id":28200800,"url":"https://github.com/krnsk0/guser","last_synced_at":"2025-06-12T17:30:29.657Z","repository":{"id":57259736,"uuid":"286745281","full_name":"krnsk0/guser","owner":"krnsk0","description":"interactive git user switcher","archived":false,"fork":false,"pushed_at":"2023-09-23T23:19:05.000Z","size":383,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-16T21:16:30.611Z","etag":null,"topics":["cli","config","git","interactive","user"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/guser","language":"JavaScript","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/krnsk0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-11T12:59:20.000Z","updated_at":"2025-03-03T12:55:50.000Z","dependencies_parsed_at":"2022-08-25T19:11:03.152Z","dependency_job_id":null,"html_url":"https://github.com/krnsk0/guser","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/krnsk0/guser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krnsk0%2Fguser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krnsk0%2Fguser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krnsk0%2Fguser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krnsk0%2Fguser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krnsk0","download_url":"https://codeload.github.com/krnsk0/guser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krnsk0%2Fguser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259511889,"owners_count":22869310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","config","git","interactive","user"],"created_at":"2025-05-16T21:17:27.024Z","updated_at":"2025-06-12T17:30:29.651Z","avatar_url":"https://github.com/krnsk0.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e Interactive git user switcher\n\n```text\n   __ _ _   _ ___  ___ _ __\n  / _` | | | / __|/ _ \\ '__|\n | (_| | |_| \\__ \\  __/ |\n  \\__, |\\__,_|___/\\___|_|\n  |___/\n```\n\n![Coverage lines](./static/badge-lines.svg)\n![Coverage functions](./static/badge-functions.svg)\n![Coverage branches](./static/badge-branches.svg)\n![Coverage statements](./static/badge-statements.svg)\n\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## What is this?\n\nDo you manage multiple git users on a single machine? Do you often switch between work and personal git accounts and configure different repositories to use different accounts? `guser` is an interactive tool inspired by [WindomZ's `gituser`](https://github.com/WindomZ/gituser.js) that helps make git user-switching a tiny bit easier by remembering user/email combinations you've used in the past.\n\n\u003cimg src=\"./static/screenshot.png\" width=\"500\"\u003e\n\nIf you want the [unix philosophy](https://en.wikipedia.org/wiki/Unix_philosophy#:~:text=The%20Unix%20philosophy%20is%20documented,%2C%20as%20yet%20unknown%2C%20program.) version of this tool, go with [`gituser.js`](https://github.com/WindomZ/gituser.js), but if you like interactive input, choose `guser`: while this tool does one thing and does it well, it is not readily scriptable.\n\n## Installation\n\nRequires `node` 10.x, 12.x, or 14.x.\n\n```bash\nnpm i -g guser\n```\n\nConfiguration is saved in a dotfile in your home directory (`~/.guser`).\n\n## Usage\n\nYou'll of course need a working version of `git` in your path.\n\nTo start:\n\n```bash\nguser\n```\n\nThe chosen user/email config is set in the repository corresponding to the current working directory, so you'll need to be inside a repo in order to configure it to use one of your stored configs. `guser` works by shelling out to [`git config`](https://git-scm.com/docs/git-config) to edit the `config` file stored in the `.git` directory of the repository.\n\nYou likely set a username and email via `git config` when setting up git for the first time. This is stored in a configuration file in your user directory. `guser` checks for a local config on startup when invoked inside a repository and prints the user and email (if found) to the console. If no username and email are set via the config file local to a repository, `git` defaults to user/email values set in the global config file, if any, when committing staged changes.\n\nFor more details, check out [this blog post](https://dev.to/krnsk0/introducing-guser-a-cli-tool-for-git-user-switching-lf6).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrnsk0%2Fguser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrnsk0%2Fguser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrnsk0%2Fguser/lists"}