git is fundamentally a sort of database. If people think about it as having a not-dissimilar level of complexity, use cases, and users to Postgres, the complexity shouldn't be too surprising.
Like anything used by a lot of people to solve real problems, it has warts and duct tape, but, honestly, git feels like the least troublesome part of my daily workflow.