I wonder if part of the issue isn't tooling defaults. In general, I always find grap > tree > linear [0], but not so with git commits. This might speak to my lack of proficiency with git, but I always find merge commits to be annoying, useless noise. Particularly on a codebase with lost of regular contributors (i.e. at work), there are occasions when I view the log, only to be greeted by a "Christmas tree" of a dozen commits that all say "Merged ${xyz} into develop". So even though rebasing loses some context through linearization, it at least doesn't add any noise commits to the log.
(Yes, there probably is some magic switch in git log that reduces the merge commit noise. But approximately nobody knows it, looking how the primary argument for squash+rebase workflow I've seen in teams I worked with was always "because it avoids the Christmas tree/chainsaw and overall denoises the log".)
--
[0] - For example this is a reason I vastly prefer HN and Reddit to phpBB-style boards. I find linear threads to be stupidly bad UX for discussing a topic. I know many people disagree, but I've been participating daily in enough forums of this style, some pretty high-volume ones, that I know what invariably happens is people recreating threading with quote-replies and lots and lots of pointless scrolling.
Sun used a rebase workflow on Solaris from 1992 onwards (well before Git came along), and the reason is that following non-linear (merge) history in a project that thousands contribute to just doesn't scale well for human minds. (Back then Sun used the awful Teamware.) For sure the tooling then was worse than now, but linear history is just very nice to work with because our brains are not that awesome.
Comment threads and code history are vastly different things. The latter in the end is always linearized and the merge turds (if present) encode bits of history on the side. The former really are tree-like, and also not about code but about natural language.
(Yes, there probably is some magic switch in git log that reduces the merge commit noise. But approximately nobody knows it, looking how the primary argument for squash+rebase workflow I've seen in teams I worked with was always "because it avoids the Christmas tree/chainsaw and overall denoises the log".)
--
[0] - For example this is a reason I vastly prefer HN and Reddit to phpBB-style boards. I find linear threads to be stupidly bad UX for discussing a topic. I know many people disagree, but I've been participating daily in enough forums of this style, some pretty high-volume ones, that I know what invariably happens is people recreating threading with quote-replies and lots and lots of pointless scrolling.