Utiliser Git et GitHub dans ses projets

Tutoriels

Marre de sans cesse envoyer son bout de code à tous les membres de son groupe à chaque petite modification ? Marre de devoir intégrer le code de son partenaire à son code à chacune de ses modifications ? Je pense avoir la solution à vos soucis.

Qu’est-ce que Git ?

Git est un système de contrôle de version distribué, ce qui signifie qu’un clone local du projet est un référentiel de contrôle de version complet. Ces référentiels locaux entièrement fonctionnels facilitent le travail hors connexion ou à distance. Les développeurs valident leur travail localement, puis synchronisent leur copie du référentiel avec la copie sur le serveur. Ce paradigme diffère de la gestion de version centralisée où les clients doivent synchroniser le code avec un serveur avant de créer de nouvelles versions du code.

Selon docs.microsoft.com

Concrètement, à notre échelle, grâce à Git, ainsi que GitHub, vous aurez la possibilité de stocker le code de votre projet sur un serveur, on appelle ça un dépôt (ou repository, dans la langue de Shakespeare). Ainsi, les modifications que vous apportez à votre code sur votre PC (en local), seront envoyés au serveur. À quoi ça sert ? Les autres personnes de votre groupe pourront directement accéder au nouveau code !

Git ? GitHub ? Quelles différences ?

Pour simplifier au maximum, Git est le logiciel installé sur votre PC qui vous permettra de créer un dépôt (votre projet qui contiendra le code), envoyer les modifications, etc.
GitHub lui, va héberger votre dépôt, c’est une sorte de Cloud (comme Microsoft OneDrive ou Google Drive).

Installation de Git

Commençons sans plus attendre ! Tout d’abord, il vous faudra installer le logiciel Git.

Rendez-vous sur le site officiel, puis sélectionnez votre système d’exploitation (Linux/Unix, évidemment 😉).
Lors de l’installation, si vous êtes sur Windows, vous pouvez décocher les Windows Explorer integration, qui ne sont pas utiles à notre échelle et qui pourront vous gêner :

Vous pouvez ensuite appuyer sur Next, jusqu’à la fin.

Création de votre dépôt (projet)

Désormais, vous allez devoir vous créer un compte gratuitement sur GitHub.

Ensuite, tout en haut à droite de la page, dirigez vous vers le « + », et cliquez sur New repository.

⚠️ Attention: Dans un projet en groupe, seulement une personne du groupe doit créer le dépôt, n’allez pas créer 4 dépôts pour le même projet en groupe.

Vous allez après devoir renseigner, le nom de votre dépôt et éventuellement une description.
Pensez bien à mettre votre dépôt en privé. Sinon, vos travaux seront accessibles publiquement.
Éventuellement, vous pouvez ajouter un fichiez README. Le reste est peu utile en l’occurrence.

Votre projet désormais créé, rendez-vous dans l’onglet Settings de ce dernier, puis dans Collaborators. Vous pourrez ainsi ajouter l’accès au dépôt à d’autres comptes GitHub, par exemple aux autres membre de votre groupe.

Votre dépôt est alors désormais créé.

Cloner le dépôt dans un environnement local

Le dépôt maintenant présent. Il faut pouvoir envoyer les futurs fichiers de notre projet dans le dépôt, pour qu’une contribution soit accessible directement par tous les membres du groupe.

Pour ce faire, nous aurons besoin de l’URL du dépôt, récupérable dans la page principal du dépôt, puis dans Code dans l’onglet HTTPS.

Ceci étant fait, nous allons désormais configurer Git, installé précédemment.

Ouvrez un terminal, sur Windows, vous pouvez faire un clic-droit dans le menu démarrer et sélectionner Terminal. Exécutez ensuite les 2 lignes de commandes suivantes séparément :

git config --global user.name "<github-username>"
git config --global user.email "<github-email>"

Vous remplacerez <github-username> par votre nom d’utilisateur sur GitHub dans un premier temps, et <github-email> par votre adresse e-mail sur GitHub dans un second temps.
Dans le cas où git ne serait pas reconnu comme commande, redémarrer votre ordinateur pourrait régler le problème.

Nous allons ensuite cloner le dépôt dans un dossier de votre ordinateur, rendez-vous dans le dossier où vous souhaitez cloner le dépôt, vous pouvez pour cela utiliser la commande cd dans le Terminal précédemment ouvert. Lorsque vous êtes bien situé, exécutez la commande :

git clone <repository-url>

Vous remplacerez <repository-url> par l’URL du dépôt que avez copié précédemment, dans mon cas, ce serait https://github.com/ilyas-r/Projet-NSI.git.

Votre dépôt désormais cloner, vous pouvez maintenant utiliser votre IDE préféré pour commencer le développement de votre projet !

Envoyer les fichiers sur GitHub

Imaginons que vous ayez créé un fichier index.html et que vous souhaitiez l’envoyer sur GitHub. Vous devez alors effectuer 2 manipulations. Tout d’abord, il faut faire ce qu’on appelle un commit.

Un commit permet d’enregistre les modifications que vous avez apportées aux fichiers de votre projet. C’est une sorte de paquet contenant les modifications que vous avez faîtes à votre projet.
Commençons alors par remplir ce paquet. Pour cela, nous allons exécuter la commande :

git add index.html

J’ai précédemment créé un fichier index.html, et je souhaite l’ajouter à mon commit. J’utilise alors l’argument add. Si j’avais créé plusieurs fichiers, par exemple un fichier index.html et un ficher styles.css, j’aurai pu ajouter plusieurs fichiers en même temps, en ajouter le nom du second fichier juste après le premier, cela aurait ressemblé à :

git add index.html styles.css

Finalement, la syntaxe ressemble à ça :

git add fichier1 fichier2 fichier3 (...)

J’aurais pu également ajouter automatiquement tous les fichiers modifiés (créés ou supprimés) dans le projet avec :

git add .

Maintenant, que nous avons sélectionner les modifications que nous ajouterons au paquet, nous allons créer le paquet (le commit). Tout simplement en exécuter la commande :

git commit

Je peux également mettre un message au commit, une sorte d’étiquette permettant d’indiquer à quoi sert ce commit et qu’est-ce qu’il change. J’aurai par exemple pu écrire :

git commit -m "Création du fichier index.html, la page principale du site"

Le commit maintenant prêt, nous pouvons le ou les envoyer avec la commande :

git push

Si je rafraichis alors la page de mon dépôt sur GitHub, je verrai qu’il a bien été mis à jour !

Mettre à jour mon dépôt local

Pour mettre à jour votre dépôt local avec les dernières modifications du dépôt distant (par exemple, si d’autres personnes ont envoyé des commits depuis la dernière fois que vous avez mis à jour votre copie locale), vous pouvez utiliser la commande :

git pull

⚠️ Attention: Ne pas exécuter cette commande si vous êtes en train de modifier des fichiers et que vous n’avez pas créer de commits.

Conclusion

En conclusion, l’utilisation de Git et GitHub peuvent s’avérer être très utile pour aider les développeurs à travailler en collaboration. Il existe de nombreuses alternatives qui permettent de faire cela, comme GitLab, qui remplacerait alors GitHub.

Il existe également d’autres outils permettant de travailler en groupe, notamment Replit.