git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Graphical tool to merge and reorder commits

From
KKKonstantin Khomoutov <kostix@bswap.ru>
Date
Aug 18, 2025, 18:04 UTC
Message-ID
<ph6tcb3xncqhunxoh5mr3rrjxi3vbo6tekcjx3dv5lfks5giw3@nya6ss4tpmoe>
In-Reply-To
<4398af77-3183-4ac5-9a25-aca6289d8c8f@rd10.de>

(Sorry, I have nothing to say regarding the very question you have asked - as I personally do not need a tool you describe, but I have decided to chime in anyway in an attemt to correct what I perceive as a misunderstanding.)

On Sun, Aug 17, 2025 at 11:02:53PM +0200, R. Diez wrote:
[...]
Show 9 quoted lines
> Here are more details about what I mean. Say I have this commit history:
> 
>  A - B - C [master]
> 
> I want to visually create a test branch first, by dragging commits B and C
> together (merging them), and then appending commit A afterwards:
> 
>  A - B - C [master]
>  BC - A [test]

This is not merging, but rather is "squashing". Merging in Git (and in any other VCS I'm familiar with) is combining together one or more separate lines of history. In other words, something like

  A - B - C (master) - - M (new state of master)
                       /
  X - Y - Z (feature) -

would be a merge of the branch "feature" into the branch "master", with the commit M having two parent commits: C and Z.

Squasing, in turn, is combining textual changes introduced by multiple commits into a single textual change represented by a single commit.

[...]
> I have tried or investigated numerous Git tools
[...]
> 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.

Just a guess, but visual tools naturally tend to be tailored to the needs of inexperienced users - to lower the entry barrier, and what you're after, to me, appears to be a task not casually undertaken by the members of this group.

Creating such a tool properly - with some intuitive support for resolving cases when, - continuing your example - rearranging "BC" and "A" would make "A" fail to apply, and with unlimited undo expected from a GUI tool, wold not be an easy task.

Previous: R. DiezNext: Junio C Hamano
Message 2 of 11 in “Graphical tool to merge and reorder commits”
  1. R. DiezAug 17, 2025
  2. Konstantin KhomoutovAug 18, 2025
  3. Junio C HamanoAug 18, 2025
  4. Patrick SteinhardtAug 19, 2025
  5. R. DiezAug 19, 2025
  6. Bernd PetrovitschAug 19, 2025
  7. Patrick SteinhardtAug 19, 2025
  8. R. DiezAug 19, 2025
  9. Ben KnobleAug 19, 2025
  10. Junio C HamanoAug 19, 2025
  11. Johannes SixtAug 19, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.