Although GitHub offers a lot of features and generally makes Git tolerable, I’ll be pretty happy when Git gets supplanted by something else more popular and hopefully better. The latter should not be hard to do.

As someone who cut my teeth on Perforce, I’m still learning the ins and outs of Git and generally actively avoid Git features. Whereas with Perforce, I was writing custom applications using its API and powerful workspace concept in just a couple years. Perforce is just easier to understand, easier to customize, great visualization tools, and has more sane names for things.

I use Mercurial and hg-git, which is a two-way interface between mercurial and git, and except for a few situations (tags, for example) it is, IMO, a vastly superior client to git. I think a possible step forward would be to just accept git as an underlying file format and build clients that are not insane on top of it. Maybe we could move off the file format later.

https://github.com/martinvonz/jj and http://sapling-scm.com/ are good steps in this direction!