Git is ubiquitous in our developing world, but is it OK to talk about the trade-offs?
Some things I have noticed:
- poor learning curve. Really, it's usable mostly because of GitHub/GitLab
- even after 10+ years using it, I consistently hear that I'm using it wrong, that I should git-rebase stuff, follow the conventions for git commit messages, branches, etc... Can't we relax about so-called "best practices" and focus on the task at hand?
- too many features that often get in the way. The mark of a great tool is that it's so good at doing its job that you can forget about it. On the other hand, I feel that we are spending a disproportionate amount of attention and energy baby-sitting git.
- documentation mostly useless because to accomplish something, you have to know already what command you need to use. On the other hand, that's a gold mine for content creators. So many common tasks need a translation in plain English.
- git is horrible for certain use cases like managing technical documentation. I'm positive that if Wikipedia had been powered by git, it would have plateaued at 10,000 articles today instead of 10,000,000
- more importantly, a macho culture has formed around git where if you use a GUI or don't understand something, it's not because it's poorly explained in the documentation, or too complex, or has a poor UX. Nope, it's simply because you are too mediocre a programmer. I imagine that's a logical legacy from Linus Torvalds, who would have probably responded in a public email that if you don't get something, it's because you are too stupid. That's a convenient way of not addressing the issues.
What are your thoughts?