ORIGINAL REDDIT POST

Git GUI that easily allows you to edit old commits?

Does anyone know of a GUI that would allow one to quickly and easily do this so that I don't have to run clunky git rebase -i commands for every commit I'd like to edit? I know it is easy enough to run git commit --amend for the most recent commit, but I need…

Original postr/webdev

Does anyone know of a GUI that would allow one to quickly and easily do this so that I don't have to run clunky git rebase -i commands for every commit I'd like to edit? I know it is easy enough to run git commit --amend for the most recent commit, but I need something that allows me to edit further back in the history.

Collected discussion

21 comments

u/drearymomentOP

Ooh, this looks super useful even beyond the question at hand. Thanks!

u/NorskJesus

No problem. I use it then I need to do something “complicated”. I love TUI/CLI apps. And they are free

u/mastermog

Really big fan of Fork. I work on some really big projects, with lots of people, and even some with old school release trains and long lived branches(I know I know) and Fork allows me to more easily visualise what the heck is going on, and slice and dice as I need to

u/Emmron

Idk why im getting downvoted LLM clis are easily able to execute git commands and it’s way easier than typing it manually or using a gui but I am a dev with 20 years of experience so maybe people with less xp dont know how to use ai? I could do a git rebase with ease using Claude code? Have a look at git cherry-pick off the top of my head

u/Emmron

I haven’t manually written a git command in ages i just tell the cli to push to this remote etc so much easier….

u/Magnetic_Tree

Git just added a new command for this: git history reword <commit> Opens an editor to change the commit. There are some limitations, and it's experimental, but might be an easy solution. (The other git history commands are worth a read too). https://git-scm.com/docs/git-history#Documentation/git-history.txt-rewordcommit

u/drearymomentOP

Whaaat, had no idea they just introduced this. Thanks for the info, time to upgrade my git!

u/gregd

GitKraken has saved me much more time than it costs me per year.

u/NorskJesus

Lazygit? Its TUI tho

u/Emmron

If anyone can prove me wrong I’d be more than happy to hear them out the delusion and misunderstanding in this sub is unreal

u/eightslipsandagully

It's amazing, I can't recommend it enough

u/Horror-Cause9345

Lots of good GUI answers already (Fork and Sublime Merge are the two I'd actually reach for), so let me add the two things nobody has said, because they matter more than which tool you pick. First, the thing that makes editing old commits feel clunky isn't the rebase syntax, it's the replay. When you edit a commit that's five back, git has to reapply the five commits on top of it, and if any of them touched the same lines you're now resolving conflicts. No GUI removes that, they just give you a nicer conflict view. So if it feels harder than amend, that's why, and it's inherent, not a tooling gap. If you do this kind of surgery a lot, look at jj (jujutsu). It sits on top of your existing git repo, and editing any commit in history is a first class operation rather than a rebase ceremony. It also auto-rebases descendants and tolerates conflicts as a state you resolve later instead of a hard stop. Nobody mentioned it and it's the tool actually built for what you're describing. Second, and please don't skip this one. Editing old commits rewrites history, which changes the hashes of that commit and everything after it. If those commits only live on your machine, no problem, go wild. But if you've already pushed them and anyone else has pulled, you're rewriting shared history, and they'll get a diverged branch and a force-push mess to untangle. The rule of thumb: rewrite freely before you push, be very careful after. That's also why I'd push back gently on the "just let the LLM run the git commands" replies. It'll happily rewrite pushed history because it has no idea what your teammates have already pulled, and that's exactly the situation where this bites.

u/beefquoner

This video changed how I used git, and it covers exactly what you’re looking for and more https://youtu.be/CPLdltN7wgE

u/Lamballert

GitKraken if you're willing to pay. It's worth it imo.

u/Dear_Payment_7008

fork is probably your best match. its interactive rebase window lets you visually reorder, squash, fix up, drop, or reword older commits without manually editing the rebase list. gitKraken, tower, and sublime merge also provide visual interactive rebasing.

u/axeleszu

Vscode has a decent embedded git client

u/Odysseyan

in vscode, git graph is a god send imo. Visual overview of branch and quick access to most common commands

u/Reeywhaar

Sublime Merge: Right click on commit -> Edit -> Edit Commit Message

u/Visual_Structure_269

SourceTree from Atlassian.

u/Emmron

Just ask Claude code or Kimi code to do whatever git commands you need it works fine for me

Git GUI that easily allows you to edit old commits?