This generalizes to "git makes much more sense once you understand git." :-) Which actually is true in more than just the tautological sense, but is not much help in getting you there!
Fortunately this web series is very helpful (in my opinion).
Moreover, I read that a branch is just a commit, but why do we have to merge branches but pick/squash (?? In reasonably modern versions you can do this with A commit is an actual object inside the repository.
"A branch" is an ambiguous term, which sometimes means "a branch label"—which is just a reference to a commit, or equivalently, a name for a single commit—and sometimes means the data structure formed by a .
I see this as a big failure in that its complexity hides both its usability, bugs and its lack of [email protected]: Git can (I find) actually do most of the things one might want it to; it's just that its interface is, well, almost actively "beginner-hostile" in various ways.