• 6 hours
  • Easy

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 1/19/24

Découvrez la magie du contrôle de versions

Dans ce cours, je vais vous présenter l’outil indispensable à tout bon développeur : le gestionnaire de versions. 

Imaginez, vous avez passé une semaine à écrire votre code, et donc produit votre première version, la V1. Votre collègue vous a fait des suggestions pour l’améliorer. Vous allez donc créer une deuxième version de votre code, la V2. Pour garder un historique de votre travail et éviter les mauvaises surprises (bugs, perte de votre travail), vous aurez besoin d’un gestionnaire de versions.

Le contrôle de versions
Le contrôle de versions

Qu'est-ce qu’un gestionnaire de versions ?

Alors, qu’est-ce qu’un gestionnaire de versions ?

Le gestionnaire de versions permet de garder en mémoire :

  • chaque modification de chaque fichier ;

  • pourquoi elle a eu lieu ;

  • et par qui ! 

Si vous travaillez seul, vous pourrez garder l’historique de vos modifications ou revenir à une version précédente facilement. 

Si vous travaillez en équipe, plus besoin de mener votre enquête ! Le gestionnaire de versions fusionne les modifications des personnes qui travaillent simultanément sur un même fichier. Grâce à ça, vous ne risquez plus de voir votre travail supprimé par erreur !  

Dans ce cours, vous allez apprendre à utiliser le gestionnaire de versions Git.

C’est un programme qui a une structure décentralisée

Qu’est-ce que cela veut dire ?

Avec Git, l’historique complet du code n’est pas conservé dans un unique emplacement. Chaque copie du code effectué correspond à un nouveau dépôt dans lequel est conservé l’historique des modifications.

Pourquoi est-ce utile dans le travail d’équipe ?

Prenons un exemple concret ! Alice et Bob travaillent sur le même projet depuis un mois. Tout se déroulait à merveille jusqu’à hier : le client leur a demandé de livrer leur projet en urgence. Alice a réalisé en vitesse les dernières modifications, enregistré les fichiers et envoyé le tout au client.

Le lendemain, le client appelle, très énervé : rien ne fonctionne. Alice et Bob ne comprennent pas. Ils s’étaient pourtant bien réparti les tâches et tous les deux avaient fait correctement leur travail.

Le problème ? Sans s’en rendre compte, Alice a écrasé le code de Bob en effectuant ses modifications. Bob n’a pas copié son travail en local, il a donc codé pendant un mois pour rien car il lui est impossible de récupérer son travail.

Tout cela aurait pu être évité avec le gestionnaire de versions !

Si Alice et Bob avaient initialisé Git pour leur projet, ils auraient pu modifier leurs fichiers, envoyer et recevoir les mises à jour à tout moment, sans risque d’écraser les modifications de l’autre. Les modifications de dernière minute n’auraient donc pas eu d’impact sur la production finale !

Alice et Bob ont initialisé Git. Ils travaillent chacun sur leur partie du code. Quand ils les regroupent, leurs versions précédentes sont archivées.
Alice et Bob ont initialisé Git. Ils travaillent chacun sur leur partie du code. Quand ils les regroupent, leurs versions précédentes sont archivées.

Git ou GitHub ? Quelle est la différence ?

C’est un peu confus ? Pas de panique, prenons un exemple pour illustrer cela.

Imaginez, vous participez à la préparation d’un parfum. Chez vous, vous créez la base du parfum en mélangeant différents ingrédients. Puis vous envoyez cette base dans un entrepôt où il sera stocké. Cette base de parfum pourra être distribuée telle quelle ou être modifiée en y ajoutant d’autres ingrédients.

Eh bien, c'est la même chose pour Git et GitHub. Git est la préparation que vous avez réalisée chez vous, et GitHub est l'entrepôt où elle peut être modifiée par les autres ou distribuée.

Avec Git, vous préparez votre code. Avec GitHub, vous stockez votre code.
Avec Git, vous préparez votre code. Avec GitHub, vous stockez votre code.

En résumé

  • Un gestionnaire de versions permet aux développeurs de conserver un historique des modifications et des versions de tous leurs fichiers.

  • Git est un gestionnaire de versions tandis que GitHub est un service en ligne qui héberge les dépôts Git. On parle alors de dépôt distant.

Passons au chapitre suivant pour en savoir plus sur la différence entre dépôts locaux et dépôts distants!

Example of certificate of achievement
Example of certificate of achievement