Comme il était difficile pour moi de faire ça en une seule fois, il y aura deux fois 5 slides ;-)

git fait partie de la liste des vcs, les logiciels permettant la gestion des différentes versions d'un « texte ». Les plus connus sont; git et svn.

Ces deux séries de slides se basent sur gitmagic de B Lynn.

git in 5 slides

in5slides-git-mozaic.png

Slide 2
Qu'est-ce que git ?
Quelle est son utilité et pourquoi, c'est bien de l'utiliser ?

  • Gestion de ses versions et
  • git est décentralisé. À l'inverse de svn, chaque dépôt contient l'archive complète du projet.

Slide 3
Utilisation basique de git. Cette utilisation simple permet de:

  • créer un dépôt;
  • d'y ajouter ses fichiers et;
  • de faire son premier commit

C'est l'occasion de dire que la bonne pratique n'est pas d'utiliser la commande

git commit -m "Petit commentaire"

mais d'utiliser la commande git commit qui ouvrira l'éditeur par défaut et permettra d'entrer un commentaire complet … c'est-à-dire compréhensible par le lecteur et certainement plus long.

La recommandation étant d'avoir un titre suivi d'un texte représentatif du commit. Le titre n’excèdera pas 50 caractères tandis que le texte tronquera ses lignes à 72 caractères … c'est la règle des 50 / 72 pour les messages de commit.

Slide 4
Chaque commit est représenté par une empreinte SHA1 de 160 bits.

 commit af0d57b52307675be81b20f2754a4036c77fa794

c'est sur base de cette empreinte que l'on pourra revenir à une situation précédente.

Slide 5/6
Jusque là, c'est bien !
Un usage d'un vcs est de pouvoir travailler ensemble sur un même projet. Je dois donc pouvoir mettre mes sources à disposition des autres ou bien accéder au dépôt de mon collaborateur.

La communication entre machines peut se faire par ssh ou bien en faisant tourner un dæmon git.

La commande permettant de récupérer le contenu d'une archive est pull dès lors que j'ai préalablement cloné (pris une copie locale) le dépôt.

Slide7
Oui mais on aime quand même bien centraliser le dépôt histoire que l'on puisse y avoir accès « tout le temps » ou d'avoir un dépôt de référence ou d'offrir une visibilité au projet ou …

Il existe github qui fait ce boulot (et d'autres, gitorious, repo).
github est un site web centralisant le dépôt git … et offrant des outils tels que:

  • une page web générée à partir du fichier README.md;
  • un système d'issues permettant de reporter les bugs;
  • un wiki par projet;

bref de quoi donner de la visibilité à un projet et permettre la collaboration autour de celui-ci.

git in 5 slides (advanced)

in5slides-git-advanced-mozaic.png

Pour aller un peu plus loin dans l'utilisation de git.

Slide 2
Lorsque l'on développe un projet, plusieurs versions évoluent en parallèle. Parce que l'on décide de travailler sur des fonctionnalités différentes ou simplement parce que l'on travaille un peu par essais / erreurs.

Le projet se décompose en plusieurs branches.

Slide 3/4
Exemple (issu de gitmagic) de création de deux branches et illustration du passage d'une branche à l'autre.

Slide 5
Il arrive un moment où les développements parallèles doivent être fusionnés (merge) et ce, sans perte et sans erreur.

Un « merge » permet de fusionner deux branches. git fusionne automatiquement les deux branches et prévient si il découvre un conflit.

Slide 7
Présentation d'un worflow traditionnel. Ce worflow utilise les branches pour permettre de travailler et d'avancer sans soucis.

Slide 8
La présentation se termine par des commandes ammend et blame que permettent, respectivement, de modifier un commit et de voir qui a fait les dernières modifications …

Merci à gitmagic.

Faites en bon usage …

Liens / cédits