Découvre l'utilisation de l'outil git, avec de gérer le versionnement de ton code source
- Comprendre Git en 7 minutes
- Merge, Fast-Forward et rebase: un peu de culture git
- Qu'est-ce qu'une clé Secure Shell ?
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.
En fonction de ton système d'explotation, c'est plus ou moins facile d'installer git :
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.
La méthode que je te conseille TRÈS FORTEMENT est celle d'installer Homebrew (un package manager), puis d'installer git avec Howebrew.
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.
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 [email protected]
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
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 !
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 ?.
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 "[email protected]"
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
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 [email protected]
Ensuite, réalise les étapes suivantes :
- Va sur le site GitLab et connecte-toi à ton compte
- Dans la barre de navigation à gauche, clique sur ton avatar
- Sélectionne "Edit profile"
- Dans la barre de navigation à gauche, sélectionne "SSH keys"
- Clique sur "Add new key"
- Dans le champ "Key", colle la clé précédemment copiée de ton terminal
- Dans "Title", écrit quelque chose
- Dans "Expiration date", sélectionne une date assez lointaine (dans 2 ans, par exemple)
- 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 [email protected]
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.
- 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 :
- git --version
- git config --global --list
- ssh -T [email protected]
- 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
- Une capture d'écran contient bien les commandes citées
- Les commandes exécutées présentent une configuration correcte
Une capture d'écran du terminal
- Utiliser un outil de gestion de versions
- La documentation technique de l’environnement de travail est comprise, en langue française ou anglaise