there's something weird about git branches that "a branch is just a reference to a commit" does not capture and I've been struggling with it for weeks
like in this diagram I think most people would say that there are 3 branches (corresponding to the 3 commits at the top of the diagram), though technically in git you could have 0, 3, or 100 branches here, and it's not labelled so you have no way to know how many branches there are
(please don't try to explain branches to me ty)
@b0rk at the same time git fails at supporting that intuitive model across history editing operations: there is no way to implement the equivalent of `hg evolve` and the recursive across branches behavior of `hg rebase`, ~because branches' relationships are a function of commits' relationships.