Git – Fast Version Control System
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
