Thread (1 message) 1 message, 1 author, 2021-03-23

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

From: Junio C Hamano <hidden>
Date: 2021-03-23 19:05:09

Linu Cherian [off-list ref] writes:
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.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help