Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news.

Git and Ruby: Git tutorials, articles and links for Rubyists

By Peter Cooper / April 13, 2008

git-logo.png

Following on from this weeks' launch of Github, it's worth rounding up some of the best Ruby-related Git content out there.

For those who still aren't familiar with what it is, Git is a distributed source code management / revision control system. It's vaguely similar to Subversion, CVS, Mercurial, or Bazaar in terms of managing source code, but with significant differences to all of these in varying areas. If you use any of these systems, however, Git will be of interest to you.

Git Tutorials and Introductions

The Git Screencast - A tutorial type screencast and technical walkthrough by Geoffrey Grosenbach. Well worth the $9.

Git vs Subversion - Are you a diehard Subversion user wondering what the hoopla's all about? Find out how Git compares to Subversion.

gitcheatsheet.png
Git Cheat Sheet - A rather well designed and comprehensive "cheat sheet" that most Git users will find useful.

Linus Torvalds on Git - The famous / seminal video given by Linus Torvalds, the initial creator of Git, that introduced many of us to the tool.

Git: A Talk by Randal Schwartz - An hour long Google TechTalk on Git given by Randal Schwartz (a prominent Perl developer). I've seen a few people suggesting that this talk is better than Linus', although I haven't watched it all myself yet.


Git Crash Course for Subversion Users - A great introduction to Git focused at people already familiar with SVN.

The Thing About Git - An essay-like introduction to Git, including some motivations, questions, and basic examples.

git-svn is a gateway drug - Robby Russell looks at using git-svn to span the gap between migrating your projects from SVN to Git over time.

Git and Ruby

Git on RubyForge - Do you publish libraries on RubyForge? If so, you might be aware they support both CVS and SVN for source code management.. but Dr Nic fills us in that they now support Git too! Dr Nic continues to explain how to set it all up to work.

gitnub-0.7.0.png

GitNub - A "pretty Git repository browser" for OS X. It's not particularly powerful yet, but has proven a great demonstration of how Git and Github are driving people to work together. It's also a cute example of a RubyCocoa application, forgetting the Git side of things!

Ruby-Github - A Ruby library that provides access to Github's API.

Ruby/Git - A Ruby library that interacts with Git repositories generally.

Rails moves from SVN to Git - David Heinemeier Hansson's announcement of the movement of the Rails source code from a public SVN repository to Github.

InfoQ's Ruby and Git Roundup - InfoQ have their own Git and Ruby roundup, like this post. It's pretty good but, as acknowledged in the Github post, I only noticed it after starting this post.. so, you get two roundups for the price of one!

Setting up CruiseControl.rb with Git - Chris Bailey demonstrates how to use Git along with CruiseControl.rb, the continuous integration tool.

Rake task to move from SVN to Git - Technoweenie presents an interesting Rake task that can export code from SVN and bring it into a new Git repository in one hit.

General Git Resources

Git Magic - A ridiculously indepth list of Git related resources and tips.

Cleaning Migrate Your Subversion Repository to a Git Repository - A handy guide to moving an SVN repository over to Git. Short and sweet!

Show your Git branch name on your command line - This is incredibly useful. A short shell script that shows your current Git branch within your command prompt (if you're within a Git repository, of course).

Git HOWTO Index - Links to a handful of interesting posts from the Git mailing list. Mostly focused on more advanced topics.

A Three Finger Salute to Git - Rubyist Geoffrey Grosenbach (of Peepcode fame) comes up with a clever technique to use the new MacBook Pro / MacBook Air "multi touch" functionality to make pulling and pushing to a Git repository a "three finger" operation! A little wacky, but very clever.

Github-Campfire - A Sinatra app that pushes your Github commit info to a Campfire chat room.

Git Hosting

GitHub isn't the only Git repository hosting option out there. There are two other significant ones:

repo.or.cz - The grandaddy of Git repository hosts. Free, public, and the first centralized Git host. It's nearly entirely used by open source projects.

Gitorious - An older, Githubesque Git repository host which, sadly, didn't quite get the attention it should have. Still used by quite a few projects though, and is free to use.

Comments

  1. David Parker says:

    Great list Peter. I'd also like to say that Geoffrey Grosenbach's peepcode episode on Git is an excellent resource as well.
    http://peepcode.com/products/git

  2. Peter Cooper says:

    Wow, how could I have forgotten that! I enjoyed that screencast myself quite a while back :)

  3. Tim Carey-Smith says:

    You should provide the option of hosting the git repositories yourself.
    Gitosis [1] is a good option for this, also having a look at git-shell2 [2] as a simpler solution.

    [1] http://scie.nti.st/2007/11/14/ hosting-git-repositories-the-easy-and-secure-way
    [2] http://ftp.frugalware.org/pub/other/people/vmiklos/vmexam/git/

  4. Vitalie Lazu says:

    Good resource collection, it seems that ruby community is moving with rails to Git ;-)

    I want to add another great site for free Git hosting: http://www.assembla.com/orientation

    It gives you Git with Trac or Git with integrated tickets.

    Besides Git, it offers subversion, mercurial, chat, scrum, free 500Mb for open-source/private projects.

    Nowadays you can not use only SCM for the projects, you need some more, this where Assembla can help with. One place with most needed tools...

    Another killing feature that was implemented recently: Pre-configured spaces:
    http://www.assembla.com/wiki/show/breakoutdocs/Preconfigured_Spaces

    You can copy a rails space with svn repository ready (code that contains user authentication/deploy scripts) and wiki pages how to setup rails and deploy.

    Everyone can create workspace templates and copy/use them for later projects.

  5. Neil Wilson says:

    I knocked a quick tip together about how to use branching effectively.

    http://www.3spoken.co.uk/2008/04/rails-and-git-clean-branch-and-merge.html

  6. Johan Sørensen says:

    You make it sound like Gitorious is a dead and abandoned project? That's very far from the actual truth! While it certainly doesn't have the bandwagon/dogpile-effect github is, we're still trucking along just fine and having fun exchanging fun new ideas in the community formed around the site.

  7. Peter Cooper says:

    I'm sure I didn't. By "didn’t quite get the attention it should have" I mean from the public. That is, you didn't get the, as you say, "dogpile effect" Github has. I didn't mean that you weren't giving it enough attention :)

    Tell me what you want it to say next to the link and I will certainly change it!

  8. Johan Sørensen says:

    No worries, I just got hung up on the wording there ;)

  9. Garry says:

    The gitosis tutorial link above got broken in a newline. Should be:

    http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

  10. Pingback: Open Sourcery

  11. Pingback: 北から南や西を見て思うこと

Other Posts to Enjoy

Twitter Mentions