Penguin
Note: You are viewing an old revision of this page. View the current version.

Git is a storage backend for a VersionControlSystem, written by LinusTorvalds and tailored to the needs of the LinuxKernel developers. It was born of necessity when BitKeeper's licence was changed such that it was no longer an acceptable home for the LinuxKernel, but all other VersionControlSystems were found inadequate.

Git's primary design objective is to keep the computational effort of committing a patch proportional to the size of the patch, rather than the size of the repository, as would be the case with most VersionControlSystems. This is achieved by keeping every version of every object (ie a file in a directory), compressed using ZLib and identified by its SHA1 sum. Contrary to traditional VersionControlSystems, this makes building a history for a single object computationally expensive, while at the same time making getting a view of any particular revision of the repository as a whole very cheap.

Git is OpenSource and itself kept in a Git archive available at rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/git.git. This now includes gitk which is quite a useful tool for viewing what's inside a Git graphically. To be able to use Git, you need to bootstrap your installation using the TarBall at http://www.codemonkey.org.uk/projects/git-snapshots/git/.


See also KernelDevelopmentWithGit