Git

Here is a presentation of the versioning tool named Git.

This is a rather succint presentation and aims only to show some tips (think of it as a reference). For that, see the presentation I made recently about it.

## What is really Git ?

Git is a versioning tool. That means it will record the changes of your project. It is used mostly for code but there are other uses too. The idea is to allow the user to go back, to test some ideas… in short managing the version of the project (hence the name).

## Why should I use it ?

First, even if you are alone, it can serve as a backup (it saved my life several times). Much better than archiving the code, as you cann see all of your the changes ! If you are working with other people, it is a must as it will allow you to synchronize your different versions.

Of course, it is not the only tool for that : there are also Subversion, Mercurial, CVS… But there are three majors reasons for trying it. First, Linus Torvald uses it for managing the Linux kernel therefore it can be used with large teams. Incidentally, it is quite fast. Second, it is not server-based. That means you have all the project on your hard drive and can do some branching, merging (see below) locally. Also, it means you can create a git repository without a server : it is just a folder. Third, it allows to create light and fast branches. These are different versions of your project in parallel. Useful for testing small ideas.

This should get you started. For more informations, see the reference book (which inspired most of my presentation).

## Misc tips

Cloning over ssh :

\$ git clone ssh://user@server:port/absolute/directory