Going Git

Those of you who are open source developers have probably already figured out that I'm going to talk about Git, the version control system, and that no, I don't actually mean "Git going" for most of you. If you're already using Git, then do git going: there's probably nothing new for you to see here, unless you have something to add. The short summary is that Git is the version control system that Linus Torvalds

Those of you who are open source developers have probably already figured out that I'm going to talk about Git, the version control system, and that no, I don't actually mean "Git going" for most of you. If you're already using Git, then do git going: there's probably nothing new for you to see here, unless you have something to add.

The short summary is that Git is the version control system that Linus Torvalds wrote for managing the Linux Kernel development. It's a distributed version control system focused on speed, effectiveness and real-world usability on large projects, and one of its strongest points for open source projects is that it has an easy way to send patches by e-mail, which vastly simplifies projects with many submitters and few committers.

Aside: At one point in my caving career I was with a college-age group from Pennsylvania about to rappel into an unexplored pit in West Virginia. A yellow lab had been following us, and we Yankees were concerned that it would try to descend with us and be hurt.

"Go home!" had no effect, no matter how loudly we shouted. It finally occurred to me that this was a Dixie dog. Time to switch to his native language.

"Git on home! Git!"

That did the trick. He got.

It came as a surprise to me in the past couple of months when the Ruby on Rails (RoR) repositories moved from Subversion to Git. They're now at http://github.com/rails/rails. Shortly thereafter, the RoR tracking system moved from trac to http://rails.lighthouseapp.com/dashboard. Let me concentrate on Git for now: Lighthouse is another story.

As the RoR blog said in April:

GitHub has now officially launched and Rails is right there at the premiere. The Rails repository now lives at rails/rails and you can check it out with:

git clone git://github.com/rails/rails.git

If you don’t have git, or don’t enjoy running it on your platform, you need not fear. We’ve set up an automated task to produce a zip file of Rails Edge that’ll be kept up to date all the time: http://dev.rubyonrails.org/archives/rails_edge.zip. This is also what we’ve made the new rake rails:freeze:edge use.

When Rails 2.1 was finally released on June 1, the blog posting included these instructions:

As always, you can install with:

gem install rails

...or you can use the Git tag for 2.1.0.

I was able to download and install msysGit for Windows from http://code.google.com/p/msysgit/downloads/list. I installed only the Git bash shell, to avoid any interference with my C Shell and the standard Windows command-line utilities.

To learn Git, I'd recommend one or more of the Git Crash Courses: Git for everyone, Maintaining external patches, and Git for SVN users. Using Git effectively requires a slightly different way of thinking than using Subversion effectively, so be prepared for some temporary disorientation: I'm told it'll pass.

From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies