George V. Reilly

Gitting Along

Git logo

In the last few weeks, I’ve switched over to Git for most of my version-control needs, at home and at work, after putting it on the long finger for months.

We continue to use Subversion at work, but I’ve recently followed Pavel and Eric’s lead in using git-svn. I work locally on my own private branches and git svn dcommit and git svn rebase oc­ca­sion­al­ly. I’m primarily on Windows at work, but I have a Linux box and a Mac Mini too, while at home, I have a MacBook, a Linux netbook, and a Vista desktop. I’m using msysGit, oc­ca­sion­al­ly sup­ple­ment­ed by Tor­toise­Git and QGit. Pavel’s on a Mac and Eric’s mostly on Ubuntu, so git adoption was easy for them.

When I first tried git-svn under msysGit about a year ago, it didn’t work worth a damn. Git-svn works fine now, but it’s slow compared to the *nix im­ple­men­ta­tion. The developers say that’s due to the fork() emulation of the MSys/Cygwin layer. The rest of msysGit is much faster.

For my home needs, I’ve had private Subversion repos­i­to­ries at and DevjaVu has gone out of business and OpenSvn has been un­avail­able too often for my liking. It was time to find some new hosting.

I’ve ex­per­i­ment­ed with private Git repos­i­to­ries at GitHub and Pro­ject­Lock­er. GitHub is very nice, but charges for private repos­i­to­ries. Pro­ject­Lock­er provides free private repos­i­to­ries, but is com­par­a­tive­ly clunky.

Pro­ject­Lock­er lets you set up a fresh repository on their server. They tell you how to clone from that, which is great for a new repository. But they don’t tell you how to hook it up to an existing local repository. Since I had some difficulty in figuring it out, here’s the recipe:

git remote add origin
git pull origin master
... merge, local edits and commits ...
git push origin master

I found Git, Xcode and Pro­ject­Lock­er and Cygwin, SSH and Pro­ject­Lock­er useful in figuring this out.

blog comments powered by Disqus
Review: The Lighthouse » « Review: March to the Stars