I’ve been attempting to read some git docs. But it’s not going well. Unfortunately the online documentation and tutorials read just like if you took a math book, stripped out all the definitions and just included the theorems. Since I am not familiar with what the words mean I can’t understand what it’s doing. There seems to be no “starting point” for git. Every place in the docs seems to assume you know the other parts of the docs and most of all that you know the terminology. I don’t know what refs is, I have no clue what’s the difference between merge and rebase, and in no place does it tell you what those things are working on. I have not yet figured out if I am supposed to commit first before rebasing (or merging or whatever I am supposed to do) or if I should first pull, rebase (or in some other order) then commit then … Oh I forgot add … then push. Something that was possible to do with two commands in cvs or svn.
The only thing I find out by reading docs or online posts about git is that distributed vcs is great, centralized is bad, cvs sucks and I should change my “workflow”. Besides the fact that after this adventure I hate the word “workflow”. Why should I change the way I work just to make a piece of software I want to stay out of my way to stay out of my way and not mess up my code. I’ve seen many posts to criticisms of git basically say that I will at some point really like git. That is not coming. I’ve never felt this resentful against cvs. There were a few times I felt cvs could have done something better, but I understood how cvs works from the absolute beginning without needing to really read anything about it. I have read quite a bit about git, but I still have only a vague idea of how it works and that kind of scares me, since it is supposed to take care of my code. At this point I’m being calmed only by the fact that there are tarballs of my code somewhere safe and I could always take a tarball and start from scratch.
Simplicity is a virtue! Not something to avoid at all costs. Perfect solutions do not exist. Plus I am sure that at some point something else will become the in-vogue religious thing of how to handle code. Then everyone will say “this git thing sucks, we all now use frmgtnfut now, get out of the dark ages” and “frmgtnfut” will be even worse documented but will probably add another buzzy adjective in front of (or instead of) the “distributed”. I should stop being logical, maybe I should just get with the times and start singing the git hare hare git git hare hare songs … Do I need to send some money somewhere to join this cult?