This is an old revision of the document!


Git Version Control System

Git is a powerful and fast Open Source distributed revision control system. It is probably able to solve most of your organizational problems and makes sharing and merging source code easy. If you are searching for a version control system (VCS) to keep track of your software projects,1) give it a try.

You may have a look at the following talks to estimate if Git would be a useful tool for you:

Google Tech Talk: Linus Torvalds on git (2007-05-03)


Another important point why you may want to learn and use Git is the fact, that it is used by many Open Source projects. If you want to improve and influence your favorite applications through contributing patches, your (feasible) Git or unified diff patch is more likely to get applied. If you provide something else which people are less familiar with or which needs more work to put into a patch, your chances are much lower. This is simply how things work in Open Source development in general.

Installation

Ubuntu

6.06 Dapper and above

Simply install the following package(s):

There are some additional packages, providing special functionality:

  • git-doc (main) – offline documentation, accessible via /usr/share/doc/git-doc/index.html
  • git-gui (universe) – simple GUI (Tk based) for most every day Git task. You can start it via git gui. A look at its man page is helpful.

After installation, Git is available via terminal: git

Usage

Git is too powerful and cool to describe its usage in a short and useful way here. Additionally, there are really good resources about “using Git” out there. Reserve a weekend for diving into the topic and have a look at:

  • The books listed at “Further reading”. Some of them are available online at no charge. :-)
  • Git for Designers – introduction on the assumption the person has no previous knowledge about Source Code Management (SCM)
  • GitCasts provides many Git screencasts.
  • The videos/talks mentioned above.
  • Git - SVN Crash Course – might be helpful if you're coming from the SVN world.

Further Reading

See also

  • OpenSSH – It is common to provide secure write/push access to remote Git repositories by SSH only.
1)
Git is useful for “common” files, configurations and documents too. But the common use case is to help software developers managing their projects
Print/export
QR Code
QR Code app:git:start (generated for current page)
Languages
Translations of this page: