git

Date Arrow  November 29, 2007

If you haven’t tried git, you should. Git is a “distributed version control” system, that is, similar to Subversion with the big difference that… you do not need a server. There are only clients, any of them, and you can pull and push changes to and from other repositories from your project colleagues. The git Wikipedia entry does a much better job than me to introduce the subject :)

In Mac OS X, I’ve just downloaded the source code tarball with the latest snapshot of the code, and it compiled out of the box. Just the classical operations:

./configure
make
sudo make install

Then I went through the tutorial, and frankly, I loved it. The Everyday GIT Guide is excellent too to understand the idea of this beautiful piece of code.

It’s too cool, really. Lightweight, and damn fast. No wonder why everyone’s talking about it lately!

Tagged   How to? · Open Source · Quality

6 Comments

  • #1.   Manuel 11.30.2007

    ” Git is a ‘distributed version control’ system, that is, similar to Subversion”

    No way ! The only similarity I can see between Git and Subversion is that both are source code management, but apart from that they do not have any !

    Have you seen the Linus’ talk at Google ? Specially, the moment he talks about Subversion ? :-)

  • #2.   adrian 11.30.2007

    well, you just cited a fragment of my complete phrase, which is “Git is a “distributed version control” system, that is, similar to Subversion with the big difference that… you do not need a server.” :) I support free speech, but let’s be fair! :))

    The “similar” word applies to “version control” (maybe the quotes are misplaced!) because at the end of the day, for the end user, whatever the opinions of Linux and Ben Collins-Sussman (the creator of Subversion) might be about each other, both git and Subversion provide version control. That’s the “similar” part. By the way, here’s what Collins-Sussman thinks about git, which you might find interesting (this article started a flame war a couple of days ago, which prompted Collins-Sussman to write a followup post later!)

    At the level of the end user, I see no big deal to choose one over the other (besides higher speed, lower repository size and maybe other considerations); it’s the context that make them interesting: for example, for Linux development, this tool has become a “how could we live without it before?” thing, and this is slowly happening in other fields (like Rails), too.

    In any case, yes, I’ve seen Linus’ opinions on the subject of Subversion, and I think it’s a bit hard on it. Subversion does much better than CVS in what it does. That’s it! It has no other pretentions, and frankly, I love Subversion too.

    But I’m sure to start using git for some personal projects soon. Both are strong in their own ways, and I want to know both of them very well.

  • #3.   adrian 11.30.2007

    By the way, there’s an excellent PeepCode Screencast about git, it costs USD 9 and provides a complete one-hour introduction to git from the perspective of a Rails developer.

    I’m watching it right now :)

  • #4.   Manuel 11.30.2007

    Adrian, you’re right : I only partially quoted your statement and thus my critic doesn’t have much ground :-) Actually, I did it because :

    - your statement is cut exactly after the word “with” on my small laptop screen, and the rest appear on the next line. So what I got in first reading was (more or less) : git == subversion.
    - I found it funny given how much Linus emphasized in his Google talk that he could not understand Subversion being used by people doing actual work.

    So seriously, I agree with you about Subversion : it’s a very good CVS replacement. I’m just missing a good graphical client having a good ‘flat’ view of the local repository (much like WinCVS does). Meld is almost the perfect match, but it lacks the capability to add directories.

    I’m using Git at work, but not like is intended to : I use its capability to import from (and then keep in synchro with) a CVS repository. Then I launch `git-instaweb’ and have a really nice web interface (with RSS feeds) to browse our repository. With an hourly cvs->git synchro, we can keep an eye on with is committed in the repository, which is quite cool :-)

    Manuel

    PS : Wouldn’t be possible to be notified by email when answers are posted on your blog ? Polling for it isn’t very convenient…

  • #5.   adrian 12.01.2007

    you’re the second one who asked me for that feature in my blog (instant comment e-mail notification) after my friend Adam :) so I’ll add that Wordpress plugin this weekend, I promise! :)

  • #6.   Manuel 12.01.2007

    Thanks, that would be nice :-)

Commenting