Git is Way Too Complex

Published 29th September 2014

Recently I have migrated over from Subversion to Git as my VCS of choice. While Git has many great features and is much faster than SVN I still think its way too complicated for the average user.

Case in point, I use SourceTree for most of my git development and, while it is a great app, just look at how complicated it is. The above screenshot is taken from their current marketing site. Given that Git was originally developed for working on the Linux kernel the above screenshot might make more sense. However these days it is being used by almost everyone. Surely this could be easier?

Don’t get me wrong here, Git is an awesome bit of software and is seriously flexible and powerful. Used correctly and in the right circumstances it is awesome. However as Git has grown to become the defacto VCS (mostly thanks to Github) more and more “non-developers” are having to learn Git (e.g. web designers) to be able to collaborate with their developer counterparts. The learning curve is steep enough as a developer, I hate to think what it is like for a non-developer.

So what would I like to see? A fully distributed VCS with the simplicity of Subversion. Something that would maintain the flexbility and speed of Git branches/tags but with a single parent repository and a simple and intuative submodule system. And probably not much else.