Re: Graphical tool to merge and reorder commits
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Aug 19, 2025, 08:07 UTC
- Message-ID
- <aKQws631-giQS5Qr@pks.im>
- In-Reply-To
- <xmqqplcsiimq.fsf@gitster.g>
On Mon, Aug 18, 2025 at 11:34:21AM -0700, Junio C Hamano wrote:
Show 22 quoted lines
> "R. Diez" <rdiez-2006@rd10.de> writes: > > > Is there some graphical tool to merge and reorder commits with the > > mouse? Or failing that, a good terminal interface with menus and > > the like which allows merging and reordering in an easy, visual > > fashion. > > ... > > I have tried or investigated numerous Git tools: git-gui, gitk, > > Gittyup, GitUI, GitButler, SourceGit, git-cola, Guitar, gitg, tig, > > giggle, qgit, RabbitVCS, Magit, lazygit, ... They are all fine for > > normal commits and the like. However, most fall short fairly > > quickly. For example, the ability to highlight character or > > word-based changes inside a text line is rare. And none of them > > really appealed to me when merging, let alone rearrange commits > > visually. > > It would be a fun little project to write a GUI front-end that emits > "rebase -i" todo file and drives the interaction, if there is none > already (which your research seems to indicate). > > Sounds like you found a good starter project for the next GSoC or > Outreachy students, I guess ;-)
I might have something related to that: I've got a patch series cooking that introduces a `git history` command. With this you can say:
$ git history reorder $COMMIT_A --(before|after) $COMMIT_B $ git history drop $COMMIT $ git history split $COMMIT
It's only intended as a starting point, and there's additional commands we can eventually think about. I'll probably send an initial version of this series later today.
Patrick