I spent 9 days building a free Git GUI because I was tired of paying $99/year
Posted by AIDevTools@reddit | programming | View on Reddit | 54 comments
After yet another "GitKraken wants $99/year" reminder, I decided to build the Git GUI I actually wanted to use. Nine days of focused work later, here's Graft.
The Problem:
- GitKraken: $99/year and Electron bloat
- SourceTree: Crashes constantly
- GitHub Desktop: Too simple for serious work
- Tower/Sublime Merge: Still paid
- Most alternatives: Either too complex or missing key features
What I Built:
- Command palette (Ctrl+K) for everything
- Drag-and-drop interactive rebase
- Native performance (Tauri + Rust, not Electron)
- 20+ keyboard shortcuts (Vim-inspired)
- Beautiful dark/light themes
- Completely free and open source
Tech Stack:
- Frontend: React + TypeScript + Tailwind
- Backend: Rust + Tauri 2.0
- Git: libgit2 bindings
What Surprised Me:
Got my first contributor within 7 hours of releasing v1.0.2. They added testing infrastructure before I even asked for it. That told me I might be onto something.
Current Status:
- v1.0.3 shipped (just fixed HTTPS auth)
- All 10 planned phases complete
- Production ready (I've been dogfooding it since day 2)
What's Missing:
- No merge conflict resolution UI yet
- No cherry-pick workflow
- No submodule support
- Probably a hundred things I haven't thought of
I'm not trying to compete with mature tools like GitKraken on every feature. Just trying to nail the 80% use case (branch, commit, merge, rebase) and make it fast, free, and keyboard-friendly.
GitHub: https://github.com/Dancode-188/graft
If you've ever been frustrated by slow, expensive Git GUIs, I'd love your feedback.
gimmeslack12@reddit
Are these GUIs used pretty commonly? I’ve never tried them before.
nrith@reddit
I’ve used SourceTree for many years. It’s much easier to do certain tasks, like partial commits, than with command-line tools.
Halkcyon@reddit
Or you could use jujitsu (JJ) which makes a load of git things way easier and ergonomic.
Free_Math_Tutoring@reddit
Or I could use a GUI, which makes a load of git things way easier and ergonomic.
(and doesn't make me push a tool of marginal convenience on a team of experts who all have interesting problems to solve and no trouble using git)
I appreciate the goal of pushing the envelope of tooling, but JJ is currently not a meaningful improvement for the vast majority of teams.
Halkcyon@reddit
imo, it solves the same problem. Painting a new frontend/UI on top of git's data structures.
sampullman@reddit
Do you have an example of a task that's much easier? I guess I've used the git CLI for so long that most things feel natural, I'm having a hard time thinking of something I'd rather have a GUI for.
nrith@reddit
Many things:
There are some things that I just can’t do easily, or at all, in Sourcetree, especially squash-and-merge and bisecting. It’s als not great at searching though commit messages, so I still do that on the command line.
jrmehle@reddit
I have mainly switched to Github Desktop when I want a GUI, but SourceTree still has a better stash browser so I keep it around. I hate the way Github Desktop handles stashes.
Free_Math_Tutoring@reddit
I've tried a bunch of them over the years, and I can highly recommend Sublime Merge.
I am perfectly comfortable in a command line, but this gives much greater visual clarity and intuition, and I am addicted to reading all the changes again before fully committing them. I'll use
git add -pwhen I have to, but the GUI is just nicer (there are many other benefits to it).jc-from-sin@reddit
Yes, it's super quick to do partial commits and rebase edits to just name a few.
kernelangus420@reddit
Github Desktop may be simple but it has 99% of what I need.
AnAwkwardSemicolon@reddit
I've been a Tower user since its initial release. It's by far my favorite client- it handles worktrees and makes my rebasing workflows far easier. Prefer the CLI for most things, but Tower has a solid place in my toolbox.
extra_rice@reddit
Really, the only time I use a Git GUI is to help visualise the history, for which gitk is pretty good at. I only use SourceTree at work because that's the only one available.
TechnoCat@reddit
While I adore a good CLI, a lot of people find it cumbersome to a GUI. To each their own I suppose.
danielv123@reddit
Some notes so far:
- First 1000 commits loaded quickly
- Why did it only load 1000 commits? How do I see the rest?
- Entire program locks up while fetching changes. Sorry, hour long full program freezes aren't better than what other options are able to provide.
- No way to get rid of theme selector obscuring UI and error messages
- Why is there no pull ff only option?
- Can't figure out how to switch branch. Clicking the branches in the branch sidebar doesn't do anything
- Can't expand the tree to see my branch
- Tree has crazy vertical spacing - 2 cm vertically between each commit???
- 5cm wide window on the right hand side to see what has changed in each commit, meanwhile the space for showing the commit message (description is also relegated to the tiny window) is huuuge
Overall, what does this do that the vscode default UI doesn't already do better? Install size I guess?
BeautifulTennis3524@reddit
99 dollar per year for 9 days of work. Unsure if you can sell this or this is actually your employers property but i earn over 99 an hour. So I guess this may be cool but the tiring to pay seems not a smart choice
jailbreak@reddit
I feel like your list of alternatives is missing Fork. It's pay once - or trial as long as you like (like Sublime Text). Quite similar to SourceTree except faster and doesn't crash
Magnetoreception@reddit
Big vote for Fork
touchwiz@reddit
If you use AI/vibecoding always disclose it. If not you will get downvoted into the ground by default
andreal@reddit
https://fork.dev
mrkent27@reddit
+1 for Fork. Hands down best Git GUI I've used for Windows/Mac. Not sure why you're getting downvoted.
YeshilPasha@reddit
Probably because it is not free. Which misses the point of OP.
mrkent27@reddit
OP specifically mentions subscription models in the README. All of the products mentioned in the original post are subscription models as well. Fork is a one off purchase and gives you access to all platforms.
butidigest@reddit
Except linux
mrkent27@reddit
Sorry I meant all supported platforms of Fork. So yes, no Linux. For that I recommend Sourcegit https://github.com/sourcegit-scm/sourcegit
RScrewed@reddit
Because it's not free. The whole point of this is to be free.
pfp-disciple@reddit
That looks nice. There are differences:
ZioTron@reddit
that's not free or opensource
Agent7619@reddit
Does nobody use TortoiseGit? (I do...ever since TortoiseSVN and TortoiseHg)
savornicesei@reddit
Me, for commits and history. I badly miss it when I'm on linux
KorwinD@reddit
Me! It's a standard tool in my department!
edave64@reddit
How exactly is it solving "🐌 Too slow (Electron bloat)" as a Tauri app? That's still a full browser application. I would understand "Too large", since Tauri doesn't ship the chromium, but I don't think it should be significantly faster by any metric by avoiding electron.
NovelPuzzleheaded311@reddit
*insert spongebob chicken meme here* but electron bad!
But yeah, the whole comparison is pretty funny.
ionburger@reddit
lol il take something written by real humans not ai slop
poggers11@reddit
Good project but there's several great free guis: Git extensions being the top one Tortoise git also
pinkyellowneon@reddit
what do you need a git client for bro ur vibe coding just ask Claude
tonyp7@reddit
SourceTree exists?
santya95@reddit
Lol why not git Extensions?
mike3run@reddit
We have lazygit at home
TechnoCat@reddit
And GitUi
zaphod4th@reddit
whats wrong with github desktop?
NovelPuzzleheaded311@reddit
Always chuckle when I see things like this. $99/year for a tool is way less than the cost of hours of headaches I've had in the past dealing with people botching git actions while using inadequate tooling.
shun_tak@reddit
I think your readme needs some more green ticks
beyphy@reddit
When I want to use a GUI with git I typically just use VS Code's Source Control feature. I mostly use git on the command line. But the Source Control is nice sometimes.
ShelZuuz@reddit
A keyboard-first git GUI? So it's a command line git GUI?
codeserk@reddit
Is nice to see people using tauri and other electron alternatives 👌👌
GenazaNL@reddit
Bro pushed his target directory 💀
noravux@reddit
Holy vibecode
AHardCockToSuck@reddit
Why not just contribute to GitHub desktop
rhudejo@reddit
Is there still no proper git history tree view there?
danielv123@reddit
Its difficult to vibecode contributions to existing projects and having them pass review
SpareIntroduction721@reddit
lol
Jaded-Committee7543@reddit
here to also say that if you want people to try it you need screenshots
AHardCockToSuck@reddit
You need screenshots in your readme