…for the basic VCS user.
Initially, the concept seems easy right? Pull, Push, Poke (joke)
Until you realise you just multiplied the already complex concept (at least for me) of having a repo when every body has their own repo. Maybe its because i never really understood all the concepts of VCS. Never really had to. I am a basic user. With SVN i just checkout , modify, check in. Merge if i had to. Plus they are abundance of SVN clients that made visualizing the whole process pretty easy (i am sure more will be available for git with time). With git, there seems to be a million ways to do things. Don’t believe me? Go to stackoverflow and search.
Jeez all i want to do is discard my last commit….err…reset my last commit…..revert my last commit……HEAD? HEAD^ ? HEAD1? HEAD2 ? soft ? hard? checkout my last staging?
Staging. The ultimate cock-block. It seems like its always in the way of getting shit done.
Before i get flamed. I am sure other version control systems have a million ways to do things but it “feels” like a set of standard commands have bubbled up and have become best practice(?).
I AM SURE alot of these concepts are very useful. But you dont really get to see the advantages UNTIL you need them. Which, in my case, means you never really get to understand them.
I hear you – I had a honeymoon with git when I was just downloading a repo, installing it and updating it from time to time, but once I started trying the “social” part, suddenly it’s what the fork it, send me a pull request (eh?), install this sub-repo in your forked repo, what’s this vimdiff program, RRRRRR MOTHRA-JEFFER! WHY DOES MY FOOTER SAY “>>>>>>>STASHED CHANGES”?!?!?!?!?
I mean, you figure it out eventually. But man, until then…