git

The SCM du jour, which replaced Mercurial for me, and with a number of followers largely due to the massive amount of projects managed with it (and github’s rise in popularity).

Snippets

Dealing with line endings

Use git config—global core.autocrlf input to have git convert files to LF ending when committing (essential if you want to diff whole trees)

Tools:

Date Platform Link Rating Notes
May’14 N/A Gitlist - A PHP front-end
Apr’14 N/A Gitblit Interesting A Java based solution.
N/A Gogs Interesting A self-hosting Go solution, pretty neat.
Aug’13 N/A gittle Great A high-level Python implementation based on Dulwich
Jun’13 N/A klaus Great A Python-based repository browser
Jan’13 N/A libgit2 Promising A linkable library for git
Jan’12 N/A git-extras Interesting A set of extensions for team work.
Apr’11 Mac GitX Interesting, haven’t tried it yet Another fork with even more features
Feb’11 Mac gitx Damn good A fork of the traditional GitX with a number of new features
Sep ‘10 Multiple Dulwich TBD a pure Python implementation
Mac Gitbox Free for up to three repos.
gitnub RubyCocoa, plays nice with github, requires some tweaking.
Gity Simple and straightforward UI.
Gitti In beta. Seems to have a decent revision graph.
GitX The classic.
GitMac Also in beta. No remarkable features.
Multiple SparkleShare Wants to be Dropbox as well. Might be the best thing ever for non-tech users if it ever gets out a Windows or Mac version.

Training:

Date Link Notes
Apr ‘12 A successful Git branching model Very good approach, made easier with gitflow.
/media/cli/git/model.jpg
Aug ‘10 Git for the lazy A moderately broad introduction.