How many "Understanding Git" posts have hit #1 on Hacker News? More than a few. How many have hit top 10? Surely dozens.
Can we, please, take this as an indicator that Git is too fucking complicated? After the first thousand "Git made easy" blog posts it should have been apparent.
But maybe everyone agrees that it's too complicated but it's used. You know, English is way too complicated, but you can't just make everyone switch to Esperanto. People are interested in things that help people understand English and things that help people understand Git.
Indeed, the miracle here is how git got so popular.
It has _NOTHING_ to do with meeting needs or doing things spectacularly better than other tools. There was version control before git and it worked just fine. I just think some "cool kids" started using it, it developed a certain Caché that made it desirable and that was it: here we are with the most popular version control system in the world with an absolutely shitty, inscrutable interface.
For the vast majority of git "users", this doesn't matter. They use git as little more than filestorage.
I think most of us do agree. The official documentation is written as though the reader is already intimately familiar with the internals of git. I'm a smart guy, and I've read the official docs numerous times but every single time I failed to come away with a greater understanding than I had before. The commands are not particularly intuitive either.
I personally think git is fucking awful.
... but it's the best version control system anyone's come up with so far. It sucks less than the alternatives and I use it for all my projects.
I work in video games where everyone uses Perforce. It's not perfect but I think it's vastly superior to Git. I can train someone whose never even heard of source control how to use it in 5 minutes.
Git might qualify as best FREE version control system anyone's come up with so far. But best? No, no I don't think so.
Agreed. I've used Perforce for a long time and it just clicked from the start. A lot of people swear by DVCS, but somehow I've always worked on projects where centralized VCS makes more sense. I wonder what the difference is? It can't be just about size, because Google uses centralized and Linux uses distributed, and both seem to be happy...
It's about organization structure. Centralized organizations where work is assigned top-down and/or where people working on the same part of the code base are likely to be in the same timezone (if not in the same office) are better served by a centralized VCS which is simpler to understand and mirrors how the organization works.
Open Source will probably never produce a good centralized VCS because it's not a problem that exists for Open Source projects.
Can we, please, take this as an indicator that Git is too fucking complicated? After the first thousand "Git made easy" blog posts it should have been apparent.
Le sigh.