This morning, after listening to the second Ruby on Rails podcast on GitHub, I decided to try it out.
Git is THE source control software Linus Torvalds is using to maintain the Linux code base, so it’s got to be good. Also Rails and many other open source projects are using it. Some of the key differentiators for Git are:
- It’s very transportable since it creates a file system-based repository within your project folder. So it can be easily copied, moved, etc. And unlike CVS or Subversion (SVN), it does not “pollute” your source sub-folders with source control system files. Here is what my local file system looks like:
- It makes collaboration easier by facilitating the process of cloning, resolving differences and merging source
So I installed Git, so what’s the fuss about GitHub? Well, imagine a kind of SourceForge or RubyForge with social network features such as the ability to follow what is new with a given project or what a specific committer is working on. GitHub is a startup so they offer a free version and several commercial version based on your budget and the features you need.
Then I was downloaded and installed the actual Git software from http://code.google.com/p/msysgit/downloads/list. I then created a new local project called GitTest, initialized the Git repository, and set the origin to my Git url. I created a readme file, committed it, and the started to make some revisions. I finally pushed my commits to GitHub.
Now I can see my changes in GitHub:
And once I made additional changes and got them pushed to GitHub:
So that was fairly easy and straightforward! Although over the years, I have been using CVS and Subversion (SVN), and now Team Foundation Server (TFS) on projects at work, I have always felt that these tools were too heavy for my own personal use on my home/personal projects. Now I have no excuse! Hello new digs on Git and GitHub! :-)