Hacker News new | ask | show | jobs
by withshubh 481 days ago
Good point! Using Git’s conditional includes is a solid approach if your repos follow a strict directory structure. But gguser is designed to be more flexible and user-friendly, especially for developers who:

- Work on multiple Git accounts across scattered directories

- Want a simple CLI-based profile switcher

- Prefer explicit control over which profile is used

- Don’t want to manually edit .gitconfig

- Need SSH key support per profile

With gguser, you can quickly switch profiles interactively, auto-switch based on any directory, and override profiles on the fly—without relying on folder-based rules.

If the .gitconfig method works for you, that’s great! :) But for devs who don’t want to tweak configs or need a more dynamic approach, gguser makes managing multiple Git identities effortless.

1 comments

I have per profile ssh keys, by setting core.sshCommand differently per profile, and passing a different ssh config file in each profile.

Honestly, overriding profiles per repo sounds like a disaster waiting to happen for me. I'm pretty sure I'd check out a repo and forget to set the right identity for it at some point. But if it works better for you, it works better for you.

I'm curious: if you're not grouping repos in your filesystem according to which context they're from — which for me dictates which identity I want to use — how are you choosing which directories to store repos in? Or does the context not dictate which identity you want to use?

I totally get the concern—accidentally using the wrong identity in a repo is a nightmare. That’s exactly why I built gguser to be explicit, flexible, and easy to use, without relying on a strict directory structure.

For me, my repos aren’t always neatly grouped by context. I might clone a work repo temporarily somewhere else or have open-source contributions scattered around. Rather than relying on predefined paths, I prefer explicitly linking profiles or switching manually when needed.

That said, if the .gitconfig + core.sshCommand method works perfectly for you, that’s awesome! But I’d still love for you to give gguser a try—it’s super lightweight, doesn’t modify your .gitconfig, and could be a handy tool for times when you need a quick profile switch or override without tweaking configs manually.

Would be curious to hear your thoughts if you try it out!:)