Vous avez dit GIT ? – Une introduction rapide



Vous avez dit GIT ? – Une introduction rapide

0 0


introgit

Présentation déroulée lors du meetup du 24 novembre 2014 chez BeMyApp http://www.meetup.com/France-HTML5-User-Group/events/218759512/

On Github wadouk / introgit

Vous avez dit GIT ?

Une introduction rapide

Agrégé par Nicolas Bétheuil @wadouk

on va donc en profiter pour faire quelques exercices physique

  • comment versionnez vous votre code ? backup en .old .backup, utilisez vous un scm ?
  • utilisez vous git au boulot, dans votre vie par boulot
  • utilisez vous un autre vcs ?
  • votre historique est plutôt linéaire ? ou les branchs c'est trop top ?

répondons déjà à une première interrogation : pourquoi s'embêter avec un vcs ?

  • un vcs est la première pierre pour faire "un peu" de qualité, il va vous permettre de vous souvenir pourquoi vous aviez écrit votre code comme ça
  • il va vous permettre avec le recul du nouveau vous de prendre une meilleur décision maintenant que vous savez de quoi le futur est fait
  • vous allez pouvoir construire votre usine logicielle
  • vous allez pouvoir dire à cette époque on avait ça, s'il y a un bug mainteant, c'est parce que vous l'aviez déjà à 2 ans

Ce sont les autres qui en parlent le mieux

Pour perforce, git est bon pour les petits projets, pas trop de fichier, pas trop de gens, sans ACL. L'article est intéressant, ça parle de VCS qui doit gêrer le fait que les gens ne se font pas confiance, gère des blobs immense

effectivement de base git ne gère pas les conflits interpersonnels, uniquement entre des fichiers

mais grâce aux hooks ont peu aller très loin

github s'en sert par exemple pour s'interfacer avec des centaines de services (178 !)

concernant la gestion de fichier binaire ... pas sur qu'un vcs doivent s'en occuper, chez eux peut être

SVN héberge sous forme de miroir son code sur github

Quelques faits (historiques !)

  • Auto hébergement de GIT en une semaine (3 avril au 7 avril 2005)
  • Atteinte des buts le 29 avril
  • Maintenance le 26 juillet (Junio Hamano)
  • Release 1.0 le 21 décembre
  • Pour SVN il a fallu plus d'un an avant l'auto hébergement

Git a été créé par Linus Torval en 2005 pour gérer le versionnement du noyau linux

Il avait d'abord choisi BitKeeper mais celui ci est devenu propriétaire et il ne pouvait donc plus l'utliser

En regardant l'écosystème des vcs rien ne lui convenait, et à donc décider d'en créer un

Ca à d'ailleurs été la même histoire pour mercurial, sauf que linux est de torvald.

Ce qu'il faut avoir en tête

  • GAD
  • Distribué
  • stash, worspace, index, local & remote repo
  • Chunk
  • Historique non linéaire
  • 2 grandes familles de commandes

Graph acyclique dirigé : l'historique de ce que vous stocker dans git est un arbre qui part toujours d'un tronc pour partir vers des branches

ces branches ne peuvent pas boucler sur elle même puisqu'il n'y a que le décendant qui se souvient de ses parents

distribué, vous adoptez l'organisation que vous souhaitez pour votre équipe

travailler en déconnecté, la femme de ménage à encore débranché la prise du serveur, c'est pas un problème, vous avez pas besoin

le chunk, ah ... vous verrez un jour vous comprendrez que c'est votre unité de commit, si vous découpez bien vos chunks, vos historiques auront du sens, vous pourrez les réorganiser

votre historique n'a pas pour obligation d'être linéaire, il n'y a pas de boucles, que des branches, avec des boules, vos commit, ça tombe bien c'est bientôt noël

de base, quand linus torvald a créé git, il n'avait pas besoin de toutes les commandes, il avait besoin d'opération unitaire pour gérer du contenu, certains utilise wordpress, lui à créé git avec les commandes de niveau plomberie, nous commun des mortels utilisont les commandes porcelaine

voyez git comme un arbre de noël avec des boules, rien ne vous empèche de couper une branche, de la déplacer, la coller ailleur, prendre une boule, le mettre sur une autre branche

bref git est riche, fondement d'un réseau social de dev, github, permettant de s'échanger plus que du simple code

Doggy bag