Tutoriel Git

Pourquoi utiliser un logiciel de gestion de version ?

Parce qu’apprendre à utiliser un tel outil est un investissement très rentable, pour tout un tas de tâches.

Lequel ?

* Si vous savez déjà utiliser un truc moderne genre mercurial, c’est très bien ;

* sinon nous vous encourageons fortement à vous mettre à git ;

* ceux qui connaissent SVN ou CVS, c’est ok mais vous pouvez en profiter pour vous mettre à un truc plus moderne.

Où héberger son serveur ?

* On vous conseille le site d'aliens ;

* ceux qui veulent peuvent aller sur github, gitorious, bitbucket...

Configurer git sur aliens

Tout se passe sur http://git.aliens-lyon.fr/users/sign_in

Setup initial

Vous êtes un binôme, constitué de A et B.

* A se connecte via le CAS, puis clique sur "New Project".

* Donnez un nom au projet (par exemple : projet2_monom_nombinome), laissez le projet en "public" puis validez.

* Normalement, le projet a été créé et amène sur une page listant des commandes ; ne pas exécuter ces commandes pour l'instant.

* Une bannière rouge (toujours le site d'aliens) invite normalement à créer une clef SSH ; cliquez sur le lien ; collez-y la clef publique correspondant à une clef privée sur votre machine puis validez le formulaire (voir ci-dessous pour un tuto sur la création de votre clef SSH).

* Une fois que la clef est ajoutée sur le site d'aliens, vous pouvez revenir sur la page listant les commandes à exécuter pour créer votre projet ; vous pouvez copier-coller directement les deux premiers blocs de commandes dans un terminal en vous plaçant préalablement dans le dossier où vous voulez mettre votre projet.

Ajouter son binôme

* (à faire par A, le créateur du projet) Sur la page du projet sur le site d'aliens, cliquez sur "Settings" puis "Members" puis ajoutez votre binôme, B, comme developer ou master.

* (à faire par B, le binôme) Ajoutez une nouvelle clef publique comme décrit plus

haut -- ou plus bas -- pour votre machine.

* (à faire par B, le binôme) Récupérez l'adresse du dépôt git sur la page du projet (de la forme git@git.aliens-lyon.fr:monnom/monprojet.git) puis clonez le git grâce à la commande

$ git clone adressedudepot

* Pour ajouter de nouvelles machines (par exemple si vous voulez travailler depuis votre laptop et depuis une machine libre service) répétez les deux étapes ci-dessus (ajouter clef à votre profil sur aliens et cloner le git).

Tuto clef SSH

. Ouvrez un terminal.

. Regardez dans le répertoire .ssh (POINTssh) si vous avez un fichier id_rsa.pub : si oui, c’est que vous avez déjà une clef publique.

. Si non (ou si le répertoire .ssh n’existe carrément pas):

  tapez     “ssh-keygen”

  tapez “entrée” à chaque fois qu’il vous demande quelque chose (vous engendrez une clef comme il vous propose de le faire, vous ne donnez pas de phrase initiale pour engendrer votre clef ssh).

. Et voila, vous avez un répertoire .ssh, qui contient (entre autres) le fichier id_rsa.pub.

. Tapez “gedit id_rsa.pub” (une fois que vous êtes dans le répertoire .ssh) pour contempler votre clef rsa publique: cela vous permettra de la copier, pour aller coller dans git.

Utiliser git

Liens

Tuto en français très complet mais facile à lire :

http://openclassrooms.com/courses/gerez-vos-codes-source-avec-git

Cheat sheet en anglais bien fichue :

http://ndpsoftware.com/git-cheatsheet.html

La vie de tous les jours sur git

Lorsqu’on veut travailler sur le projet:

. On commence par faire

    git pull

pour etre à jour avec la version courante.

. On modifie les fichiers.

. On fait

   git commit -a

         ou alors git commit -am “petit message informatif: je suis A, j’ai modifie l’interface graphique, car je prefere le vert au bleu”

régulièrement, pour “jeter de petits cailloux” au long de son travail.

. Si on a créé un nouveau fichier, toto.c, qu’on veut ajouter au projet, on tape

  git add toto.c

(même principe pour ajouter un nouveau répertoire).

. On fait

   git pull                 (au cas où il y a eu des modifications pendant qu’on travaillait)

   git push

pour se resynchroniser, et soumettre les modifications que l’on a faites.

Quelques commandes très utiles

   git status

permet de savoir où on en est (si des fichiers ont été modifiés depuis le dernier commit, si on a des commits non pushés…)

   git log

permet d’afficher la liste des commits ; très utile pour savoir ce qu’ont fait les autres après un pull.