Nov 10

I decided that I needed to go ahead and keep my hobby code in a repository. This will help with back-ups, reminding myself what I was doing and getting up to speed with a new VCS. I’ve used RCS, CVS, Perforce and Subversion. The newest kids on the block (and thus, most popular right now) are Git and Mercurial. So, I figured I should learn one of them, and chose Git. So, all the Celery code is now in a local Git repo with a Github origin.

There are a couple concepts about Git that I find interesting, and a bit difficult to learn. This difficulty is largely due to “old dog, new tricks”. Firstly, locally you have your own repo. This means you do your adds/deletes/commits all locally. You maintain history locally as well. So, if you are unconnected, it’s not that big of a deal as you are still using the repo. For the “collaborative” part, a user can “pull” from your repo (when you are connected to the network) or you can “push” your repo up to the central server (github). This is where my confusion lies, as to when to know to push vs. pull. Fortunately, it will only be myself for the foreseeable future. So, I’ll have plenty of time to understand this.

Secondly, one of the primary focuses of Git is ease of branching. Subversion’s branching has caused no end of trouble here for us. So, not having to deal with merging a branch back into trunk sound’s quite nice.

You’ll also notice I did not explicitly point to my project, this is because the code is not yet at the point where I’m comfortable advertising it. However, I’m sure you could find it if you wanted to.

Tagged with:
preload preload preload