Live Coding : Découverte de Git

Temps de lecture : 20 minutes environ.

La session de Live Coding d'aujourd'hui avait pour thème la découverte de Git.

Principalement dédié à la gestion des versions de fichiers et au travail en groupe, Git a été créé en 2005 par Linus Torvalds, également à l'origine du noyau de Linux.

C'est actuellement le logiciel de contrôle de version le plus utilisé face à son concurrent "Mercurial" qui est sorti à peine quelques semaines après Git.

Approche

Le système de Git se repose sur une gestion des versions décentralisée. Ceci veut dire que la gestion des versions des différents fichiers de notre projet se fera localement et indépendamment de ce que pourraient faire les autres développeurs sur leur "copie" des fichiers.

Ainsi, chaque membre de l'équipe d'un projet possèdera une copie locale des fichiers qu'il pourra modifier et ensuite partager avec les autres membres.

Pour effectuer ce partage, il sera nécessaire de posséder un "serveur GIT" sur lequel les différents membres de l'équipe enverront leurs modifications.

Chacun viendra ensuite récupérer les modifications.

Outils

Nous allons avoir besoin de quelques outils pour travailler avec Git.

Pour commencer, nous verrons l'utilisation de Git en utilisant le terminal (Windows, Mac ou Linux). Ceci nécessitera l'installation de Git depuis le site officiel Git.

Le deuxième outil permettra d'utiliser Git en interface graphique, plus facile à prendre en main. L'exemple que nous prendrons est Github Desktop, mais il en existe plusieurs.

Le troisième outil est un IDE (Integrated Development Environment), nous utiliserons Visual Studio Code.

Enfin, nous utiliserons un "serveur Git" en ligne, qui sera, pour cet exemple, Github.

Terminologie

Avant de commencer, il est nécessaire de connaître quelques termes utilisés dans le monde du développement à propos de Git.

Dépôt

Un "dépôt" Git est l'emplacement de stockage d'un projet en local ou sur un serveur distant. On peut le voir comme le dossier principal du projet

Cloner

Le terme "cloner" signifie copier un dépôt Git distant sur la machine locale. Celà a pour effet de récupérer les versions courantes de tous les fichiers.

Commit

Nous utiliserons le terme "commit" lorsque nous validerons et verrouillerons les modifications apportées à nos fichiers.

Push

Nous ferons un "push" lorsque nous voudrons envoyer les différents "commits" vers le serveur distant.

Pull

Nous ferons un "pull" lorsque nous voudrons récupérer les différents "commits" distants sur notre dépôt local.

Fetch

Faire un "fetch", c'est récupérer la liste des modifications effectuées sur le dépôt distant

Cloner un dépôt

Lorsque vous créez un dépôt sur un site comme github, vous pouvez récupérer son URL en cliquant sur le bouton "Cloner" situé en haut à droite (en vert sur l'écran ci-dessous).

Copiez l'url https, elle nous servira pour cloner ce dépôt.

Pour cloner le dépôt, nous allons ouvrir le terminal et nous placer dans le dossier dans lequel nous souhaitons le placer. Attention, un nouveau dossier sera créé par la commande ci-dessous.

git clone https://github.com/NouvelleTechno/live-git.git

Bien sûr, remplacez l'url en question par celle de votre dépôt.

Connaître le statut du dépôt

A tout moment, vous pouvez connaître l'état de votre dépôt, pour savoir, par exemple, si des fichiers ont été ajoutés ou modifiés depuis le dernier commit, et donc savoir si vous avez un commit à faire.

Pour connaître le statut du dépôt, entrez la commande ci-dessous

git status

La réponse vous indiquera si il y a eu des modifications.

Ajouter un fichier au prochain commit

Si un fichier a été ajouté dans le dépôt, ou si un fichier a été modifié depuis le dernier commit, il est nécessaire de l'ajouter à la liste des éléments qui seront inslus dans le prochain commit.

La commande ci-dessous ajoutera le fichier "README.md" au prochain commit

git add README.md

Faire un commit

Il y a plusieurs méthodes pour effectuer un commit. Ce qu'il faut savoir, c'est que pour chaque commit, un message décrivant son contenu est obligatoire.

Pour faire un commit "simple" contenant tous les fichiers ajoutés avec "git add", utilisez la commande suivante

git commit -m "Message du commit"

Il va de soi que le "Message du commit" est à personnaliser en fonction du contexte.

Vous pouvez également faire le "git add" à la volée en faisant le commit, de façon automatique.

Utilisez pour ce faire la variante ci-dessous

git commit -a -m "Message du commit"

Vous remarquez ici l'ajout du -a qui fait le add.

Faire un push

Une fois que nous avons besoin de partager nos modifications avec les autres membres de l'équipe, nous allons les envoyer au dépôt distant en faisant un "push".

La commande est très simple

git push

C'est tout.

Faire un pull

Pour récupérer les modifications, c'est aussi simple que pour les envoyer. La commande est

git pull

C'est tout aussi.

Résoudre les conflits

Si deux membres du projet interviennent sur la même partie de fichier, le "push" ou le "pull" ne fonctionneront pas.

Dans ce cas, il faut ouvrir le fichier qui vous affichera, par exemple, ceci

<<<<<<< HEAD
Ajout de texte
=======
Modification du fichier test
>>>>>>> 99e931a4886d7cb06ca6991705d5cb96880757f4

Pour lire ces lignes, il faut comprendre que :

  • Ce qui est écrit entre <<<<<<< HEAD et ======= correspond à la version locale du fichier
  • Ce qui est écrit entre ======= et >>>>>>> 99e931a4886d7cb06ca6991705d5cb96880757f4 correspond à la version distante du fichier.

Git attend qu'on modifie le fichier et qu'on y retire toutes ces mentions afin de résoudre ce conflit.

Ensuite, on fait un commit des modifications et on peut de nouveau effectuer les push et pull comme avant.

Les outils en interface graphique

Nous avons présenté l'outil Git en lignes de commandes, ce qui peut paraître difficile pour certains.

Il existe des outils en interface graphique qui simplifient l'utilisation de Git. Parmi eux, Github Desktop, mais également les différents IDE (Visual Studio Code, PHP Storm...)

Github Desktop

Vous trouverez ci-dessous les différentes zones de l'interface de Github Desktop

Comme tout logiciel, il nécessite un peu de prise en main. Une petite introduction est faîte dans la vidéo en haut de l'article, vers 25 minutes.

Visual Studio Code

Tous les IDE comme Visual Studio Code, par exemple, intègrent une possibilité d'utiliser Git directement depuis leur interface.

Ainsi, dans Visual Studio Code, vous avez l'option "Contrôle de code source" représentée par l'icône

Lorsque vous allez dans cette zone de votre IDE, vous accédez à une interface intégrée qui vous permet d'effectuer la plupart des commandes

Sur l'écran ci-dessus, vous avez accès au commit, dans la zone contenant "Message de Commit". Pour le valider, appuyez sur CTRL+Entrée.

Les "..." en haut à droite vous donnent accès aux fonctions Push et Pull entre autres.

C'en est terminé pour cette introduction à Git, n'hésitez pas à commenter.

Obtenir de l'aide

Pour obtenir de l'aide, vous pouvez accéder au serveur Discord pour une entraide par chat

Live Coding : Découverte de Git
Article publié le - Modifié le

Catégories : Tutoriel Live-Coding Git

Mots-clés : Tutoriel Généralités Live-Coding Git Github Gitlab livecoding versionning

Partager : Partager sur Facebook Partager sur Twitter Partager sur LinkedIn