Git is a Version Control System, or more accurately a Distributed Version Control System where a collection of version controlled files, known as a repository (or repo for short) is distributed across multiple computers, namely the central server and collaborators machines as well. Like other Version Control Systems, git allows you to track who made what changes to which file when and why, although this does partly rely on good descriptions in the commit messages.

Version Control Systems work in different ways but git uses "snapshots" of all files, rather than differences, however where a file is unchanged in a snaphot it links back to the last version of the file. Everything in git is check-summed using SHA1 to generate a hash, which is a 40 character string. Whilst SHA1 has been proven to be not sufficiently secure for security it works fine with "file identity" which is what git uses it for.

If you want to contribute to an Open Source project then it is almost certain you will need to work with Git. There are two reasons for this, firstly git itself is open source as well as being free, secondly it is now very common, so most software developers are familiar with using it.


The official website for Git is Git here you will find links to everything you need, including the Release Notes for the latest release. It is worth noting that if this is a security release then it may get backported to older versions, which the latest release note will mention but the earlier ones won't. The release notes can be found at git/Documentation/RelNotes at master · git/git however, do note that the sort order is not by date.

Following on from the Release Notes link you can find all the source code for Git at git/git: Git Source Code Mirror as well as the releases etc.