Aller au contenu principal

GIT

Introduction

Le but de ce laboratoire est de vous apprendre le fonctionnement de Git. Bien que nous ayons vu Git de manière théorique, il est important de bien comprendre via la pratique. En effet, le "DevOps" se repose entièrement sur Git. Si vous ne comprenez pas le fonctionnement de Git, vous aurez des difficultés pour mettre un système du type "DevOps".

Présentation rapide de GIT

Mise en pratique

Nous utiliserons pour ce laboratoire le site : https://learngitbranching.js.org/ Ce site permet de travailler avec GIT sans aucune installation et il est pédagogique. Chaque action est accompagnée d'une animation pour représenter les évolutions de votre "repository". Ce qui permet de comprendre l'utilité des différentes commandes.

Pour ce laboratoire, vous devrez réaliser plusieurs exercices pour comprendre le fonctionnement de GIT en local et en "remote".

Pour la partie locale, vous devrez réaliser les exercices suivants :

Pour la partie "remote", il vous est demandé de faire les exercices suivants :

Si vous terminez le laboratoire avant le temps imparti, il vous est conseillé de jeter un coup d'œil sur les autres exercices. Ces exercices concernent des notions plus avancées qui ne seront pas forcément utiles pour la réalisation du projet, mais elles vous seront sûrement très utiles dans votre futur travail !

Ressources supplémentaires

Si vous désirez plus d'explications sur Git, n'hésitez pas à consulter l'excellente formation de Grafikart sur Youtube (en plus, tout est en français) !

Installation de Git (si nécessaire)

Il faudra installer Git en passant par ce lien: https://git-scm.com/install/ (Git est normalement déjà installé sur les machines de l'école)

Installez Visual Studio Code (VS Code) sur votre machine personnelle (VS Code est normalement déjà installé sur les machines de l'école): https://code.visualstudio.com/Download

Normalement, VS Code intègre directement Git (comme indiqué ici). Si c'est le cas, vous devriez voir l'icône de Git (une branche qui se divise en deux) sur le côté comme ici:

Clé SSH

La plupart du temps, vos répertoires Git seront privés. Pour cette raison, vous aurez besoin de prouver votre identité à Gitlab. La meilleure solution consiste à créer une clé SSH (clé privée et publique) et de l'ajouter à Gitlab. Ainsi, à chaque opération, VS Code utilisera votre clé pour prouver votre identité.

Tout d'abord, assurez-vous que SSH est installé sur votre machine. Utilisez l'instruction suivante dans un terminal: ssh. Si la commande est inconnue, il vous faudra suivre les instructions d'installations disponibles à cette adresse: https://learn.microsoft.com/fr-fr/windows-server/administration/openssh/openssh_install_firstuse (choisissez votre version de Windows en haut de la page).

Comme suggéré dans la documentation de Gitlab, nous allons générer une clé SSH ED25519. Dans votre terminal, exécutez la commande suivante:

ssh-keygen -t ed25519 -C "DevOps"

Suivez les instructions concernant le nom de la clé et l'endroit où elle sera générée en laissant les valeurs par défaut. Vous pouvez changer les valeurs si vous le souhaitez, mais vous devrez effectuer des commandes supplémentaires.

Vous obtiendrez 2 clés: une publique (.pub) et une privée.

danger

Ce qui va suivre me semble évident, mais par sécurité je vais faire un rappel. La clé privée, comme son nom l'indique subtilemenent, est... privée. Donc vous la gardez pour vous et JAMAIS elle ne quittera votre ordinateur sous aucun prétexte.

A l'inverse, la clé publique est... publique (aucune surprise). Donc, vous pouvez la distribuer à qui vous voulez (Gitlab, Twitter, etc).

Nous allons rajouter notre clé sur Gitlab, en copiant le contenu de la clé publique et en l'ajoutant à notre profil Gitlab. Rendez-vous sur le site, puis sur votre profil > clés SSH > Ajoutez une clé > Collez le contenu de la clé. Donnez un nom à votre clé et c'est fini !

Pour tester si tout est correct, utilisez l'instruction suivante:

ssh -T git@gitlab.example.com

Dans mon cas, j'ai reçu cette réponse: Welcome to GitLab, @mdpgeobe! ce qui correspond à mon d'utilisateur sur Gitlab.