Skip to content

Instantly share code, notes, and snippets.

@bastienapp
Created October 22, 2023 12:39
Show Gist options
  • Save bastienapp/4af78cfda3a0a701f6a9404c536e3866 to your computer and use it in GitHub Desktop.
Save bastienapp/4af78cfda3a0a701f6a9404c536e3866 to your computer and use it in GitHub Desktop.

Git - Installation et configuration

Découvre l'utilisation de l'outil git, avec de gérer le versionnement de ton code source

Ressources

Contexte du projet

Git est un système de contrôle de version. Qu'est-ce que ça veut dire ? Que git est un logiciel qui va archiver toutes les modifications de ton code source, afin que tu puisse (entre autres):

  • récupérer le code sur un autre machine
  • travailler à plusieurs sur un même projet
  • revenir en arrière en cas de problème

Comme tu le vois, c'est un logiciel très pratique ! Ce n'est pas le premier dans son domaine, mais c'est celui qui a rencontré le plus de succès, grâce à sa puissance et à sa facilité d'utilisation (ce que tu vas trouver ironique, tant il peut être compliqué à prendre en main au début).

Avant d'apprendre à l'utiliser, je te conseille cette lecture : Comprendre Git en 7 minutes.

Installation

En fonction de ton système d'explotation, c'est plus ou moins facile d'installer git :

Linux

Git est probablement déjà installé, mais dans le doute tu peux taper la commande :

git --version

S'il te donne une version supérieure à 2.35, c'est bon, tu n'as rien à faire !

Si git n'est pas installé, ou que la version est inférieure à 2.36, voici la méthode à suivre : Installing Git on Linux.

Mac

La méthode que je te conseille TRÈS FORTEMENT est celle d'installer Homebrew (un package manager), puis d'installer git avec Howebrew.

Windows

La méthode que je te conseille TRÈS FORTEMENT est celle d'installer Git for Windows (aussi appelé Git Bash).

Comme nous allons configurer git en ligne de commande par la suite, tu peux toujours cliquer sur "Next" en laissant les configurations par défaut.

Configuration

Ouvre ton terminal (ou Git Bash sous Windows) et entre les commandes ci-dessous.

Ces deux lignes permettront d'identifier que c'est toi qui est à l'origine de modifications dans ton code source :

# remplacer par tes nom et email : attention, ces informations seront publiques ! Je te conseille donc de mettre un pseudonyme
git config --global user.name "Your Name"
git config --global user.email your_email@example.com

Changer la branche par défaut pour main :

git config --global init.defaultBranch main

Encoder correctement les retours à la ligne (important pour des projets partagés entre Windows et les autres systèmes d'exploitation) :

git config --global core.autocrlf input

Modifier l'éditeur de texte par défaut (je conseille fortement nano, qui est le plus simple d'utilisation) :

git config --global core.editor "nano"

Enfin, ces commandes servent à configurer le fast fowarding avec Git. C'est une notion avancée, si tu es intrigué je te propose cette lecture : Merge, Fast-Forward et rebase: un peu de culture git.

git config --global merge.ff false
git config --global pull.ff true

Git vs GitLab

Les jeunes développeuses et développeurs confondent souvent git et GitLab :

  • git : c'est le logiciel qui te permet de gérer les versions de ton code source
  • GitLab : c'est un site qui te permet d'héberger ton code source. En clair, ça permet d'avoir ton code disponible sur Internet ! Il existe d'autres sites qui font la même chose : GitHub, Bitbucket...

Si tu n'as pas de compte sur GitLab, c'est le moment d'en créer un !

Relier git et GitLab

Maintenant que tu as compris que git était en local (sur ta machine) et que tu pouvais héberger ton code source à distance (sur GitLab), il va falloir connecter les deux ensembles.

Je ne vais pas te mentir, ça va être compliqué ! Cependant, fait de ton mieux pour suivre la documentation, et si tu es perdu, demande de l'aide !

Pour les relier, tu vas utiliser une clé SSH. C'est quoi ?

Imagines que tu vas créer une serrure (partie secrète) et sa clé (partie publique) :

  • Sur ta machine, tu vas garder la partie secrète (la serrure)
  • Sur la machine distante (celle avec laquelle tu vas te connecter), tu vas lui fournir la partie publique (la clé)

Lors de la connexion entre les deux machines, si la partie publique correspond à la partie secrète, ça marche ! Par contre, si une mauvaise clé est utilisée, la connexion sera refusée.

Quand on parle de clé SSH, on parle à la fois de la partie publique et de la partie privée : Qu'est-ce qu'une clé Secure Shell ?.

1. Générer une clé SSH

Ouvre ton terminal (ou Git Bash sous Windows) et entre les commandes ci-dessous :

# génère les partie publique et privée de la clé ssh
ssh-keygen -t ed25519 -C "your_email@example.com"

Lors de l'affichage du message suivant, tu peux valider sans rien modifier :

> Enter a file in which to save the key (/Users/YOU/.ssh/id_ALGORITHM): [Press enter]

N'ajoute pas de phrase secrète (passphrase) ! Pour Mac, ça va fortement te simplifier la configuration.

Donc fait "Entrée" sans ajouter de texte :

> Enter passphrase (empty for no passphrase): [Press enter]
> Enter same passphrase again: [Press enter]

Ensuite, tu vas démarrer l’agent SSH en arrière-plan :

eval "$(ssh-agent -s)"
# > Agent pid 59566

Enfin, tu vas ajouter la clé privée SSH à ssh-agent :

ssh-add ~/.ssh/id_ed25519

2. Ajout d'une clé SSH à GitLab

Dans un premier temps, tu vas devoir copier la partie publique de la clé SSH.

Ouvre ton terminal (ou Git Bash sous Windows), et entre la commande suivante :

cat ~/.ssh/id_ed25519.pub

Ensuite copie le contenu affiché, qui devrait ressembler à :

ssh-ed25519 TggSbtKTwC0BmUVNZHOyxw+ne-copie-pas-cet-exemple your_email@example.com

Ensuite, réalise les étapes suivantes :

  1. Va sur le site GitLab et connecte-toi à ton compte
  2. Dans la barre de navigation à gauche, clique sur ton avatar
  3. Sélectionne "Edit profile"
  4. Dans la barre de navigation à gauche, sélectionne "SSH keys"
  5. Clique sur "Add new key"
  6. Dans le champ "Key", colle la clé précédemment copiée de ton terminal
  7. Dans "Title", écrit quelque chose
  8. Dans "Expiration date", sélectionne une date assez lointaine (dans 2 ans, par exemple)
  9. Clique sur "Add key"

C'est bon, GitLab a ta clé publique !

Enfin, pour tester que ta configuration marche, entre la commande suivante dans ton terminal :

ssh -T git@gitlab.com

Si le message suivant apparaît, c'est gagné :

Welcome to GitLab, @your_name!

Tu auras peut-être le message suivant avant (auquel cas, tape "yes") :

The authenticity of host 'gitlab.com (x.x.x.x)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? [yes]
Warning: Permanently added 'gitlab.com' (ECDSA) to the list of known hosts.

Modalités pédagogiques

  • Réalise l'installation et la configuration de git et GitLab, telle qu'elle est décrite ci-dessus
  • Une fois l'opération terminée, ouvre un terminal et entre les commandes suivantes :
  • Prend une capture d'écran de ton terminal avec l'exécution de ces commandes
  • Envoie la capture d'écran en solution de ce brief

Modalités d'évaluation

  • Une capture d'écran contient bien les commandes citées
  • Les commandes exécutées présentent une configuration correcte

Livrables

Une capture d'écran du terminal

Critères de performance

  • Utiliser un outil de gestion de versions
  • La documentation technique de l’environnement de travail est comprise, en langue française ou anglaise
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment