{"id":16694721,"url":"https://github.com/spenserblack/change-git-user","last_synced_at":"2025-10-31T04:31:20.270Z","repository":{"id":38328006,"uuid":"314557897","full_name":"spenserblack/change-git-user","owner":"spenserblack","description":"Manage multiple git configurations","archived":true,"fork":false,"pushed_at":"2024-10-23T14:15:24.000Z","size":159,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-09T01:33:44.082Z","etag":null,"topics":["git","git-config","git-configuration","git-user","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/spenserblack.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-11-20T13:11:52.000Z","updated_at":"2024-10-23T14:16:13.000Z","dependencies_parsed_at":"2022-08-28T11:22:19.472Z","dependency_job_id":null,"html_url":"https://github.com/spenserblack/change-git-user","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":"spenserblack/template-rust-repo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spenserblack%2Fchange-git-user","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spenserblack%2Fchange-git-user/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spenserblack%2Fchange-git-user/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spenserblack%2Fchange-git-user/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spenserblack","download_url":"https://codeload.github.com/spenserblack/change-git-user/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239108715,"owners_count":19583047,"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":["git","git-config","git-configuration","git-user","rust"],"created_at":"2024-10-12T16:47:58.333Z","updated_at":"2025-10-31T04:31:14.972Z","avatar_url":"https://github.com/spenserblack.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `cgu`\n\n[![Crates.io](https://img.shields.io/crates/v/change-git-user)][Crates.io Link]\n![Crates.io](https://img.shields.io/crates/d/change-git-user)\n![CI](https://github.com/spenserblack/change-git-user/workflows/CI/badge.svg)\n\nManage multiple git configurations\n\nInspired by [Git-User-Switch](https://github.com/geongeorge/Git-User-Switch).\n\n## :warning: Archival Notice\n\nI've switched to just using [`includeIf`](https://git-scm.com/docs/git-config#Documentation/git-config.txt-includeIfltconditiongtpath)\nin my `.gitconfig`. Honestly, this works a lot better for me than having to constantly switch users via this command.\n\n## Installation\n\n```bash\n# this will install the executable `cgu` and `git-change-user`\ncargo install change-git-user\n\n# enable only the cli\ncargo install --no-default-features --features=cli change-git-user\n\n# enable only prompts\ncargo install --no-default-features --features=prompts change-git-user\n```\n\n## Features\n\n- Switch `user.name` and `user.email` config\n- Assign an optional `user.signingKey` to the config\n- Give the config a name to remember it by (e.g. \"Work\" or \"Personal\")\n- Uses `git2` to discover a repository and manipulate its config\n\n## Usage\n\n***NOTE*** You can use `cgu` and `git change-user` interchangeably.\n\n### Prompts\n\n```bash\n# This will spawn prompts to guide you through managing user configurations\ncgu\n```\n\n### CLI\n\nIf you don't want use use prompts, you can use subcommands instead.\nThe subcommands are:\n\n- `add`\n- `select`\n- `delete`\n- `view`\n\n#### Examples\n\n```bash\n# view CLI options\ncgu --help\n\n# view subcommand help\ncgu \u003csubcommand\u003e --help\n\n# Add a config with the name \"My Config\"\n# Defaults to the user.name value (\"My Name\" in this example) if --name is not passed\ncgu add --name \"My Config\" \"My Name\" example@email.com\n\n# View all configs\ncgu view --all\n\n# Select the new config\ncgu select \"My Config\"\n\n# Delete the new config\ncgu delete \"My Config\"\n```\n\n[Crates.io Link]: https://crates.io/crates/change-git-user\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspenserblack%2Fchange-git-user","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspenserblack%2Fchange-git-user","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspenserblack%2Fchange-git-user/lists"}