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

Re: Query on managing the order of commits in git merge

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 23, 2021, 19:04 UTC
Message-ID
<xmqqft0l3d5j.fsf@gitster.g>
In-Reply-To
<CAAHhmWjLAO7EBEvcizFd1otDJDq8yesaA3FyDEYPWpuSLuy=Kw@mail.gmail.com>
Linu Cherian <linuc.decode@gmail.com> writes:
Show 25 quoted lines
> A has the following commits,
> A ---> 1---2---3--4
>
> We do have another branch B, which is forked out of A and our
> features/fixes has been added
> on top of A.
> B ---->1 --2--3--4--5--6
>
>
> At a later stage, we sync branch A to the remote upstream branch
> and it becomes,
> A --> 1--2--3--4--7--8
>
> Now, when we merge A to B, the order in which the commits are merged
> into can be different based on date of commit. CMIIW
>
> Like, case 1:
>
> B --> 1--2--3--4--5--6--7--8--M
>
> case 2:
>
> B-->1--2--3--4--7--8--5--6--M
>
> where M is the merge commit.

Neither is showing you made a merge. If you try gitk (or "git log --oneline --graph"), you'll see that a merge does not result in a single strand of pearls like the above.

I think your merge is working perfectly correctly, without butchering the order each branch had its commits, and adding a single merge commit 'M' that is a child of the commits at the tip of these two branches. It's just the order of commits you see when you tell the tool to show them linearly (e.g. "log" without "--graph").

There are "--topo-order" etc. options that you can influence the display order of the "log" output.

Previous: Linu Cherian
Message 2 of 2 in “Query on managing the order of commits in git merge”
  1. Linu CherianMar 23, 2021
  2. Junio C HamanoMar 23, 2021

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.