Git Rocks!!!


We’ve switched the version control system for Stan (my project at Columbia Uni) from Subversion to Git. I was skeptical when everyone told me how great Git was; the move from CVS to Subversion didn’t buy us much.

Git, on the other hand, is worth it. What I’ve liked about Git so far is:

  • Local Repository Copies: Every user gets a full copy of the repository. So you can work on a local version of the entire repository before “pushing” any changes to the main repository. (So what was a commit in Subversion is now a commit followed by a push.) This makes it easy to work on the subway, but it also means you can keep things under version control without polluting the public server.
  • Speed: Uploading the 40MB Boost C++ sources to Subversion took, roughly speaking, forever (tens of minutes). In Git, it’s super fast. (Both hosted by Google, so I don’t think it’s the network or servers.)
  • Branching: What makes local repositories work really well is branching; it’s way easier to branch and merge in Git than in Subversion.
  • Reports: All the commands like “git diff” and “git status” give you more information than Subversion, which is actually very helpful.

If you want to read about Git, I can recommend

  • Chacon, Scott. 2009. Git Pro. Apress.

It’s free online in every format imaginable from the author.

Ryan tells me that GitHub is the bomb, too, and when Ryan recommends something, I listen (he told me the move to Subversion was minor, by the way). It apparently has a great community and a great way to suggest pushes to other projects. We may move the Columbia project to there from Google Code. (We can’t do the same for LingPipe, at least in their free open source area, because of our quirky license.)

6 Responses to “Git Rocks!!!”

  1. Alexander Sorokin Says:

    +1 on Git (and github).

  2. John Myles White Says:

    Please do move Stan to GitHub!

  3. John Miles Says:

    Hi, your blog is amazing. I am really interested on the Processing Tweets with LingPipe chapters but unfortunately there is no chapter 4 talking about language identification… Are you planning on talking about that again soon?

    Congrats again!

  4. Tim Says:

    move to GitHub, you will never look back

  5. Ken Williams Says:

    Glad to see you’ve made the leap.

    If you haven’t experimented with ‘git add -i’ yet, give it a whirl. It’s my standard workflow now, extremely convenient to preview & individually select hunks before committing. ‘git rebase -i’ is also really nice when I need to massage things before pushing, but that’s probably only about once a week.

Leave a Reply to John Miles Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s