Martin Heller
Contributing Writer

Going Git

analysis
Jun 4, 20083 mins

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 https://github.com/rails/rails. Shortly thereafter, the RoR tracking system moved from trac to https://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: https://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 https://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.

Martin Heller

Martin Heller is a contributing writer at InfoWorld. Formerly a web and Windows programming consultant, he developed databases, software, and websites from his office in Andover, Massachusetts, from 1986 to 2010. From 2010 to August of 2012, Martin was vice president of technology and education at Alpha Software. From March 2013 to January 2014, he was chairman of Tubifi, maker of a cloud-based video editor, having previously served as CEO.

Martin is the author or co-author of nearly a dozen PC software packages and half a dozen Web applications. He is also the author of several books on Windows programming. As a consultant, Martin has worked with companies of all sizes to design, develop, improve, and/or debug Windows, web, and database applications, and has performed strategic business consulting for high-tech corporations ranging from tiny to Fortune 100 and from local to multinational.

Martin’s specialties include programming languages C++, Python, C#, JavaScript, and SQL, and databases PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, Google Cloud Spanner, CockroachDB, MongoDB, Cassandra, and Couchbase. He writes about software development, data management, analytics, AI, and machine learning, contributing technology analyses, explainers, how-to articles, and hands-on reviews of software development tools, data platforms, AI models, machine learning libraries, and much more.

More from this author