This is an old revision of the document!
Table of Contents
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)
Git – a Talk by Randal Schwartz (2007-10-12) search?q=-3999952944619245780&btnI=lucky
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):
git-core
(main)
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 viagit 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
- Scott Chacon - Pro Git (ISBN 978-1-43021-833-3) – You can read it online for free (CC licensed). Translations are also available (e.g. German).
- Travis Swicegood - Pragmatic Version Control Using Git (ISBN 978-1-93435-615-9)
- Jon Loeliger - Version Control with Git (ISBN 978-0-59652-012-0)
- Ben Lynn - Git Magic (ISBN 978-1-45152-334-8) – You can read it online for free (GPL licensed). Translations are also available (e.g. Spanish).
See also
- OpenSSH – It is common to provide secure write/push access to remote Git repositories by SSH only.