I think a big problem (and I'm saying this as a total novice to the source code revision management game) is that #GitHub != #Git, and that is causing some real confusion.
Once again, #Microsoft has managed to #EmbraceAndExtend and break both compatibility, and the mental concept of what git actually is. And they didn't even create GitHub, although I wonder if it was more of a vanilla Git service before they bought it out.