This is definitely the real question always underlying this topic, but maybe more charitably: how typical is a collaborative development experience vs. a single-step hierarchy with blessed releases? Is there really a practical argument to learn it, or only moral and aesthetic ones?
I don’t think of “naïve” being an uncharitable. It’s just the difference between the way a problem appears to someone unfamiliar with it to the model they form after they’ve worked it out.
As I wrote in my other comment, typical person's mental model is centralized. They expect there to be only one, centralized source of truth for everything
My impression is if you think in terms of it automating the process where developers email patches to Linus and his minors who then review and commit and merge it makes somewhat more sense.
how about - gits model doesn't map very well into the workflows I use...so its always a struggle and source of conflict with other developers.
That’s the beauty of git though. You can do any workflow you want locally (including with no internet) and slice and dice however you need to push your work back to the team.