J'aime bien faire le tour des options des nouveaux outils qu'on me met entre les mains, c'est ssh(1) (openssh) qui m'a appris à faire ça. Récemment c'est git(1) qui facilite la gestion de code, fait briller les dents dans le noir et permet de voir au ralenti comme dans matrix. Trève de babillages, voici mon fichier de configuration .gitconfig qui me semble être une bonne base :

# ~/.gitconfig
# Stefan "hr" Berder <hr@bonz.org>
# my commented git configuration file

# user informations
[user]
    # full name
    name = Stefan "hr" Berder
    # email address
    email = hr@bonz.org

# various command aliases
[alias]
    # create some common aliases used in cvs/svn
    co = checkout
    ci = commit
    d = diff
    rlog = log --pretty=format:\"%h %Cblue%cr%Creset %cn %Cgreen%s%Creset\"

# core configurations
[core]
    # file like .gitignore, I prefer to create a per project .gitignore
    #excludesfile = ~/.gitignore

# color configuration
[color]
    # color git-branch output
    branch = auto
    # color git-diff if possible
    diff = auto
    # color git-status output
    status = auto

# colors for branch command
[color "branch"]
    current = blue bold
    local = yellow
    remote = cyan
    # other refs
    #plain = 

# colors for diff command
[color "diff"]
    # informations on the diff (files, index)
    meta = yellow
    # hunk header
    frag = cyan
    # removed lines
    old = red bold
    # added lines
    new = green bold
    # highlighting whitespace errors
    whitespace = red bold

# colors for status command
[color "status"]
    header = blue
    added = green
    changed = red
    untracked = yellow

[status]
    relativePaths = true

Il faut noter que la couleur ne fonctionnera pas par défaut avec toutes les versions de git(1). L'utilisation des couleurs par défaut existe depuis la version 1.5. Avec une version plus ancienne il faut utiliser l'argument --color avec la commande diff ou log par exemple.