I think one needs to recognize that git was pioneering. And one of the problems with being pioneering is that some things way not work as expected, and be difficult to fix later. In other words pioneers make the mistakes those who follow get to learn from.
Git got a whole lot of the dvcs model in general right, particularly regarding the basic data structures. I am not a fan of some other things and there are a whole lot of things I am actually quite ambivalent about.
Despite being a fan of git I do like these stories. "The Hobgoblin" is my favorite.