HNHacker News
TopNewBestAskShowJobs

bmf-san

35 karma · joined July 4, 2023

Software engineer.
submissionscomments
bmf-san··on Show HN: ggc – A terminal-based Git CLI written in Go
What does your daily Git workflow look like?

I'm curious how other engineers manage their Git setup and workflows in practice. Specifically:

1. Primary Git client: Do you mostly use the CLI, a GUI tool, IDE integration, or custom scripts? And why?

2. Workflow shortcuts: Do you follow the classic `git add → commit → push` step-by-step, or do you bundle them into a single alias or script?

3. Interactive tasks: How do you handle more interactive tasks like staging hunks, resolving conflicts, or browsing history?

4. Alias and script maintenance: If you maintain custom aliases or functions, how do you keep them organized and shareable?

I’d love to hear what works for you (and what didn’t). Tools, habits, setups — anything goes!

bmf-san··on Show HN: ggc – A terminal-based Git CLI written in Go
Yep, ggc is a wrapper around the git CLI — intentionally so.

I chose to shell out to git because it's fast, stable, and has great cross-platform support. Tools like go-git and libgit2 are interesting (and I’ve looked into them), but they come with their own tradeoffs like performance, features, and build complexity.

That said, I totally get the curiosity — thanks for the discussion!

bmf-san··on Show HN: ggc – A terminal-based Git CLI written in Go
Yeah, I kinda thought the same when I picked the name. Didn’t expect it to trip people up this much though — might rethink it if it becomes a real issue. Thanks for the honest feedback!
bmf-san··on Show HN: ggc – A terminal-based Git CLI written in Go
Yeah, “terminal-based CLI” might’ve been a fuzzy phrase — I meant it’s an interactive command-line tool, not just a one-shot command like most git subcommands.

It’s somewhere between a minimal TUI and a CLI — no full-screen UI, but it does guide the user interactively.

Thanks for the discussion, made me realize I should clarify that better in the README.

bmf-san··on Show HN: ggc – A terminal-based Git CLI written in Go
Thanks! I didn’t know about Magit or jj — they both look really interesting, I’ll check them out.

Also, good point about the demo GIF. I’ll try updating it with a more complex example. Appreciate the feedback!

bmf-san··on Show HN: ggc – A terminal-based Git CLI written in Go
Ah, I hadn't noticed that — makes sense now that you point it out. I'll look into fixing it properly. Thanks a lot for the heads-up!