Différences entre versions de « Guide Git »
(Ajout d'un premier plan et de quelques partie du guide git) |
(Ajout de l'utilisation pratique de git, gitlab et sublime-merge) |
||
Ligne 2 : | Ligne 2 : | ||
On va utiliser un certain nombre de termes anglais car c'est ceux qui sont utilisés partout, et l'informatique se fait en anglais. | On va utiliser un certain nombre de termes anglais car c'est ceux qui sont utilisés partout, et l'informatique se fait en anglais. | ||
− | '''Git''' est un logiciel de gestion de versions décentralisé, | + | '''Git''' est un logiciel de gestion de versions décentralisé, c'est-à-dire que l'on peut travailler en local. On peut également partager (''push'') nos modifications vers un serveur (GitLab pour nous). |
− | '''GitLab''' est une plateforme qui permet de sauvegarder et de visualiser un ''repository'' git. Il propose aussi un certain nombre de services comme par exemple un gestionnaire de bug (issues), de la code review ou de l'intégration continue (CI). | + | '''GitLab''' est une plateforme qui permet de sauvegarder et de visualiser un ''repository'' git. Il propose aussi un certain nombre de services comme par exemple un gestionnaire de bug (''issues''), de la code review ou de l'intégration continue (CI). |
Git peut être utiliser en ligne de commande ou bien via une interface graphique. Pour ce tutoriel, nous allons l'utiliser via '''sublime-merge'''. C'est un outil qui permet de se passer de la ligne de commande et de simplifier la gestion d'un repo git. | Git peut être utiliser en ligne de commande ou bien via une interface graphique. Pour ce tutoriel, nous allons l'utiliser via '''sublime-merge'''. C'est un outil qui permet de se passer de la ligne de commande et de simplifier la gestion d'un repo git. | ||
Ligne 29 : | Ligne 29 : | ||
= Comment fonctionne git = | = Comment fonctionne git = | ||
+ | Git permet, en autres, de sauvegarder chaque modification d'un programme, chaque modification est appelée <code>commit</code>. | ||
+ | Un <code>fork</code> est une copie d'un repo. Cela permet de modifier/tester/bidouiller un projet sans risquer d'affecter le code original. | ||
+ | |||
[todo] | [todo] | ||
− | + | = Organisation des repos de Polybot = | |
− | repository | + | Les repository de PolyBot se trouve à cette adresse : https://gitlab.com/polybot-grenoble . Si vous n'y avez pas accès, vous pouvez demander qu'on vous en donne un à Charles Blanchard, Errikos Messara ou Corentin Musard. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Fichier:Gitlab.png|Organisation des repository de Polybot]] | |
− | |||
− | + | Chaque projet est indépendant, vous pouvez travailler sur un ou plusieurs projet en même temps. | |
− | |||
− | |||
− | |||
− | . | ||
− | |||
− | |||
− | |||
− | |||
− | |||
= Utilisation pratique = | = Utilisation pratique = | ||
− | |||
− | + | Guide vidéo : https://tube.nocturlab.fr/videos/watch/2055a0cd-1b93-4e8d-ab41-a41cc1c0ccbe | |
− | |||
= Pour aller plus loin = | = Pour aller plus loin = |
Version du 1 novembre 2020 à 17:41
Présentation des outils
On va utiliser un certain nombre de termes anglais car c'est ceux qui sont utilisés partout, et l'informatique se fait en anglais.
Git est un logiciel de gestion de versions décentralisé, c'est-à-dire que l'on peut travailler en local. On peut également partager (push) nos modifications vers un serveur (GitLab pour nous).
GitLab est une plateforme qui permet de sauvegarder et de visualiser un repository git. Il propose aussi un certain nombre de services comme par exemple un gestionnaire de bug (issues), de la code review ou de l'intégration continue (CI).
Git peut être utiliser en ligne de commande ou bien via une interface graphique. Pour ce tutoriel, nous allons l'utiliser via sublime-merge. C'est un outil qui permet de se passer de la ligne de commande et de simplifier la gestion d'un repo git.
Installation
Installation de git
Sur ubuntu ou debian : apt install git
Pour les autres plateformes :
- Accéder à https://git-scm.com/download/
- Télecharger la dernière version du logiciel pour votre plateforme.
- Pour windows, en faisant clique droit dans un dossier vous devriez voir apparaître "Git GUI Here" et "Git Bash Here".
Installation de sublime-merge
Voir sur le site https://www.sublimemerge.com/ .
Configuration
Ajout d'une clé SSH
GitLab autorise la communication avec ses serveurs via des clés SSH.
- Pour générer une clé SSH suivez les indications ici.
- Puis, sur GitLab, cliquer sur l'avatar en haut à droite, puis sur Settings.
- Cliquer sur "SSH Keys" puis coller le contenu de la clé publique générée avant (le fichier terminant par
.pub
). - Valider en cliquant sur "Add key".
Comment fonctionne git
Git permet, en autres, de sauvegarder chaque modification d'un programme, chaque modification est appelée commit
.
Un fork
est une copie d'un repo. Cela permet de modifier/tester/bidouiller un projet sans risquer d'affecter le code original.
[todo]
Organisation des repos de Polybot
Les repository de PolyBot se trouve à cette adresse : https://gitlab.com/polybot-grenoble . Si vous n'y avez pas accès, vous pouvez demander qu'on vous en donne un à Charles Blanchard, Errikos Messara ou Corentin Musard.
Chaque projet est indépendant, vous pouvez travailler sur un ou plusieurs projet en même temps.
Utilisation pratique
Guide vidéo : https://tube.nocturlab.fr/videos/watch/2055a0cd-1b93-4e8d-ab41-a41cc1c0ccbe
Pour aller plus loin
Ajout d'une clé PGP
Une clé PGP (Pretty Good Privacy) permet de signer son travail.
Tout le monde peut changer son nom lors du commit et peut donc usurper votre identité [1]. PGP empêche cela, en signant le commit. Voici une vidéo explicant le fonctionnement général de PGP : https://www.youtube.com/watch?v=GSIDS_lvRv4 .
- Pour créer et mettre en place votre clé PGP, suivez la partie Introduction ici.
- Pour l'ajouter sur GitLab, aller dans les paramètres puis dans "GPG Keys".
- Ajouter la clé.
- Pour signer chaque commit automatiquement faire :
git config --global commit.gpgsign true
Maintenant, lorsque vous faites un commit, vous pouvez voir la mention Verified
sur le commit signé comme sur l'image ci-dessous.
Utilisation des sous-modules
[todo]