Skip to main content.

git Synopsis


Source Code Management with git

In Linus's own words as the creator of git: "git" can mean anything, depending on your mood.

git is a "directory content manager". git has been designed to handle absolutely massive projects with speed and efficiency, and the release of the 2.6.12 and (soon) the 2.6.13 version of the Linux kernel would indicate that it does this task well.

git falls into the category of distributed source code management tools, similar to Arch or Darcs (or, in the commercial world, BitKeeper). Every git working directory is a full-fledged repository with full revision tracking capabilities, not dependent on network access to a central server.

git provides a content-addressable pseudo filesystem, complete with its own version of fsck.

To get a copy of git

Daily snapshots are available at: (Thanks to Dave Jones)

Source tarballs and RPMs at:

Debian packages should be availabe in unstable (sid) as "git-core"

Or via git itself:

git clone <local directory>
git clone rsync:// <local directory>
(rsync is generally faster for an initial clone, you can switch later by editing ".git/branches/origin" and changing the url)

To get the 'Porcelain' tools

SCM Interface layers: cogito -

Patch Management (similar to Quilt): StGIT -

History Visualization

gitk: (Included in the standard git distribution)

git distributions contain a tutorial in the Documentation subdirectory. Additionally, the Kernel-Hacker's git Tutorial at may be useful. (Thanks to Jeff Garzik for that document)

git development takes place on the git mailing list. To subscribe, send an email with just "subscribe git" in the body to Mailing list archives are available at

(This summary written by Ryan Anderson . Please bug him with any corrections or complaints.)