{"id":13602940,"url":"https://github.com/samrocketman/git-identity-manager","last_synced_at":"2025-10-12T06:32:01.433Z","repository":{"id":49245192,"uuid":"135774253","full_name":"samrocketman/git-identity-manager","owner":"samrocketman","description":"Git identity manager. It allows you to switch between git identities for user, name, and SSH private key used for authoring and publishing git commits.","archived":false,"fork":false,"pushed_at":"2024-08-01T00:14:16.000Z","size":44,"stargazers_count":98,"open_issues_count":0,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-05T07:11:17.250Z","etag":null,"topics":["bash","git","git-alias","git-subcommand","identity-management","idm"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/samrocketman.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-02T00:20:00.000Z","updated_at":"2025-03-17T06:59:08.000Z","dependencies_parsed_at":"2024-11-07T06:32:33.203Z","dependency_job_id":"8c4cdf1d-9c87-48b0-a157-baf97727533d","html_url":"https://github.com/samrocketman/git-identity-manager","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/samrocketman/git-identity-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samrocketman%2Fgit-identity-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samrocketman%2Fgit-identity-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samrocketman%2Fgit-identity-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samrocketman%2Fgit-identity-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samrocketman","download_url":"https://codeload.github.com/samrocketman/git-identity-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samrocketman%2Fgit-identity-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010509,"owners_count":26084757,"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","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bash","git","git-alias","git-subcommand","identity-management","idm"],"created_at":"2024-08-01T18:01:43.815Z","updated_at":"2025-10-12T06:32:01.174Z","avatar_url":"https://github.com/samrocketman.png","language":"Shell","readme":"# Git Identity Manager\n\nEver find that managing multiple git identities is a pain?  This git transport\nattempts to make it less painful.\n\n![Knowing who you are can be painful][backpain]\n\n[Image credit PBS.org][pbs]\n\n# Requirements\n\n- Git 2.18 or later.\n  - [`git 2.10` or later because of `core.sshCommand`][git-2.10].\n  - [`git 2.13` or later because of `includeIf.\u003ccondition\u003e.path`][git-2.13].\n  - [`git 2.18` or later because of git-config bug][git-2.18].\n- GNU bash\n- awk (BSD or GNU awk recommended)\n- sed (BSD or GNU sed recommended)\n- openssh client with ssh-agent\n\nbash, awk, sed, and openssh are available by default on Mac OS X, BSD, and most\nflavors of GNU/Linux.  Git likely needs to be installed.  On Mac OS X,\ninstalling Git through homebrew is recommended.\n\n# Installation\n\nAdd `git-idm` script to your `$PATH` and make it executable.  Then, you can\naccess the script via `git idm`.  See `git idm help` for usage.\n\n### via Homebrew on macOS / Linux / WSL2\n\nA Homebrew tap is available [here](https://github.com/fleetwoodmac/homebrew-git-identity-manager).\n\nInstall with the following command.\n\n    brew install fleetwoodmac/git-identity-manager/git-identity-manager\n\n# Uninstall\n\nRemove all data stored in `$HOME/.gitconfig` related to `git idm`.  This will\nnot affect settings used by git.\n\n    git idm uninstall\n\n### via Homebrew \n- If installed via Homebrew, uninstall by first running `git idm uninstall` as above.\n- Then, run `brew uninstall git-identity-manager`\n- Finally, run `brew untap fleetwoodmac/git-identity-manager`\n\n\n# Quick start\n\nAdd your first identity.\n\n    git idm add jcool --name \"Joe Cool\" --email joe@example.com --key ~/.ssh/id_rsa\n\nActivate your identity.\n\n    git idm use jcool\n\nShow which identity is active.\n\n    git idm active\n\nList all known identities.\n\n    git idm list\n\nFor more commands see `git idm help`.\n\n# Autotracked identities\n\nYou can configure your Git identities to automatically switch depending on what\ndirectory you have cloned.  For example, let's say you have personal projects\nand work projects on the same laptop.  Assuming you have a `work` identity and a\n`personal` identity configured, the following commands would help you\nauto-switch identites for repositories under designated paths.\n\n    git idm track work --directory ~/git/work\n    git idm track personal --directory ~/git/github\n\nYou can list what directories are tracked by a given identity.\n\n    git idm list work --tracked\n\nWhich will return output like the following.\n\n```\nwork identity will automatically apply to the following directories:\n    /home/user/git/work/\n```\n\nVerify the identity has switched with `git config user.email`.\n\n    cd ~/git/work\n    mkdir example\n    cd example/\n    git init\n\n    # the email identity should show your work email\n    git config user.email\n\n# License\n\n[MIT License](LICENSE.txt)\n\n[backpain]: https://user-images.githubusercontent.com/875669/40868569-f1512a4e-65c2-11e8-9dfe-91ece96d62db.jpg\n[build-img]: https://travis-ci.org/samrocketman/git-identity-manager.svg?branch=main\n[build-status]: https://travis-ci.org/samrocketman/git-identity-manager\n[git-2.10]: https://github.com/git/git/blob/v2.10.0/Documentation/RelNotes/2.10.0.txt#L83-L84\n[git-2.13]: https://github.com/git/git/blob/v2.13.0/Documentation/RelNotes/2.13.0.txt#L127-L130\n[git-2.18]: https://github.com/git/git/blob/53f9a3e157dbbc901a02ac2c73346d375e24978c/Documentation/RelNotes/2.18.0.txt#L379-L384\n[pbs]: https://www.pbs.org/newshour/health/back-pain-industry-taking-patients-unhealthy-ride\n","funding_links":[],"categories":["Shell","git","bash"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamrocketman%2Fgit-identity-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamrocketman%2Fgit-identity-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamrocketman%2Fgit-identity-manager/lists"}