Building a replacement for my Git GUI

For 12 years I ran the last perpetual-license copy of Tower, the last one right before they went subscription. It did what I needed, so I continued to use it, frozen in time on my machine.

Eventually that catches up with you. macOS moved on, my workflow moved on, and I started wanting something modern again. Tower started to lock up when doing even the most basic of tasks. I wanted something native, fast, built around how I actually work now. Only way to get that was to start paying monthly for a tool I already owned outright. I’d even be happy to pay again for a license to lock myself on the now current version. Much like I did way back in 2014.

So I did what any engineer does when they hit that wall: opened a new project and started building it myself.

I now have a native macOS Git client, built to be the app I wanted, with everything I need. And best of all, no subscription. It's not a toy, it drives the real git binary under the hood, nothing proprietary, nothing you couldn't reproduce yourself from the command line. What's in it so far:

→ Visual commit graph, line-level blame, file history → Hunk-level staging, amend, revert, safe resets → Interactive rebase: reorder, squash, reword, drop → Built-in conflict resolution for merges, rebases, cherry-picks → Stashes, tags, remotes, branch management → GitHub & GitLab (self-hosted too) connections, tokens stored in Keychain

I’ve been working on this for a few weeks now. Over the last couple of days I’ve been using it as my main work horse. Whenever I come across a situation that requires me to open Tower, or worse, go to my CLI, I add an item on my todo list. I’ve been adding items during the workday, then checking them off in the evening.

I’m really happy with how things are going. I’d love to hear about your git headaches as well, since no one uses Git in the exact same way, I’m sure you’re doing something that I never even considered being possible. I want to make this available to everyone, but in order to do that it needs to support as many workflows as possible.

A screenshot of a Git GUI application

Comments (0)

Leave a Comment

Your email will not be published.

Guest comments are moderated and will appear after approval.