This post is a bit late but better late than never. If you’re still using Subversion it’s high time you had a look at distributed version control.

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do.

Install on Debian / Ubuntu 9.10 Karmic:

sudo aptitude install git git-core

Then you may find this Git tutorial useful.

I use gitg or gitk for quick-reference visualizing of history:

sudo aptitude install gitg

Gitstats project is interesting. See demo here.

Also Gource is another interesting git visualizer. See demo via YouTube.

I should mention Github as they are pretty awesome and you have no doubt seen their website before. Here’s my page on Github, for those interested. I love their proprietary reports; the charts and graphs are awesome ways to visualize repositories. And their push-button publishing, donations, and social networking aspects are the best.

My ~/.gitconfig file looks like this:

[core]
        editor = vim
[user]
        name = YOUR NAME
        email = YOUR.EMAIL@DOMAIN.TLD
[color]
        branch = auto
        diff = auto
        interactive = auto
        status = auto
        ui = auto
[color "branch"]
        current = yellow reverse
        local = yellow
        remote = green
[color "diff"]
        meta = yellow bold
        frag = magenta bold
        old = red bold
        new = green bold
[color "status"]
        added = yellow
        changed = green
        untracked = cyan
[alias]
        st = status
        ci = commit
        br = branch
        co = checkout
        df = diff
        lg = log -p
        who = shortlog -s --
        up = pull --rebase
[push]
        default = matching