Versionnement - Introduction

← Les principes · 14 diapositives · flèches ou clic pour avancer

Introduction - ...
Git et Subversion - Git et Subversion sont des technologies client-serveur pour lesquelles il existe pour chacune plusieurs clients possibles, au goût du programmeur. - Par exemple, pour Subversion qui est normalement un logiciel installé sur un serveur linux, on utilise des clients windows (Tortoise-SVN), des clients linux en ligne de commande (svn) ou encore des plugins d'IDE (subverse). - Il…
Terminologie - Dépôt (repository en anglais) = Espace serveur qui sert à contenir toutes les révisions du projet. Il ne contient pas réellement toutes les copies, mais les diff. - Révision = version sauvegardée du projet, elle comporte un numéro. Chaque commit crée une nouvelle révision. Par exemple r33 ou r35. - Livraison = Release ≅ Tag = Étiquette de version = Marque-page qu'on place sur une…
Terminologie des subversion vs git - SVN - GIT - CHECKOUT - CLONE - UPDATE - PULL - COMMIT - COMMIT & PUSH / PUBLISH
Terminologie - Checkout = Clone = Récupérer une copie du projet sur laquelle travailler, sur laquelle on pourra synchroniser le code ultérieurement - Update = Pull = Récupérer les changements apportés au projet par ses coéquipiers. C'est après cette étape qu'il faut vérifier s'il y a des conflits. - Commit = Commit & Push = Publish = Envoyer nos modifications locales au serveur distant. Seulement…
Processus
Processus
Git et Subversion - Normalement, il faut utiliser un client svn pour communiquer avec un serveur svn et un client git pour communiquer avec un serveur git. - Originellement, svn avait son propre protocole indépendant, le protocole svn, différent donc du protocole http. Cependant cela a causé divers problèmes dans les environnements de développement, quand ce n'était pas les ports c'était les…
Un serveur dans les bureaux - On peut utiliser un serveur interne à notre compagnie, c'est ce que l'on doit faire si notre code est ultra-secret et que l'on souhaite le cacher même à leurs employés. Les serveurs sont des logiciels libres et gratuits. - C'est un peu aussi l'idée de sécurité et de travail délocalisé qui pousse la solution Git à avoir un serveur secondaire qui accepte les…
Les services en ligne - Si on n'est pas en train de traiter du code avec une protection de niveau militaire, on peut se permettre d'utiliser des services en ligne. Il en existe des gratuits et des payants. I l existe deux organisations majeures incontournables : - SourceForge (organisation sans but lucratif) : code libre et toujours public - GitHub (compagnie) : gratuit pour du code public,…
Les services en ligne : Sourceforge - SourceForge est une ancienne organisation de service de versionnement public destiné au logiciel libre et qui a vécu les évolutions de CVS à SVN à GIT et Mercurial. Il héberge encore tous les logiciels libres majeurs. - De nos jours on peut choisir entre un dépot SVN, un dépot Git ou un dépot Hg - on doit choisir une seule technologie et l'utiliser pour le…
Les services en ligne : Sourceforge - Sourceforge a longtemps été le leader du service d'hébergement de logiciel libre mais Sourceforge a connu des jours difficiles lorsque une de ses administration a pris des mauvaises décisions et que le site a presque été détruit par les publicités et dit-on les virus. ls ont été jusqu'à altérer les exécutables des logiciels à télécharger sur leur site pour…
Les services en ligne : GitHub - Il n'existe pas encore d'alternative viable non-propriétaire pour le monde de l'open-source - la solution offerte par GitHub est la roue de secours de plusieurs projets. - GitHub est un service commercial récent qui a connu une croissance ultra-rapide d'utilisateurs. - lors de l'initialisation du projet on ne choisit pas de tech, c'est toujours un serveur git en…
Les services en ligne : GitHub - Pour utiliser GitHub, lire les tutoriels suivants : - Créer et confirmer un compte GitHub - Créer son projet de départ (projet template presque vide) - Créer un projet dans la classroom (pour ses étudiants) - Versionner son projet dans GitHub (pour 1ère année) - Accepter et versionner un projet Classroom (pour 3ème année)