Différences entre versions de « Guide Git »

De Polybot Grenoble
Sauter à la navigation Sauter à la recherche
(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é, càd qu'on peut travailler en local. On peut également partager ('''push''') nos modifications vers un serveur (GitLab pour nous).
+
'''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]
  
git
+
= 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.
clone
 
pull
 
commit
 
fork
 
 
 
stage
 
push
 
 
 
issue
 
 
 
stash
 
  
branch
+
[[Fichier:Gitlab.png|Organisation des repository de Polybot]]
merge
 
  
 
+
Chaque projet est indépendant, vous pouvez travailler sur un ou plusieurs projet en même temps.
CI
 
conflit
 
 
 
.gitignore
 
 
 
 
 
commande git
 
 
 
git workflow
 
  
 
= Utilisation pratique =
 
= Utilisation pratique =
[todo]
 
  
= Organisation des repos de polybot =
+
Guide vidéo : https://tube.nocturlab.fr/videos/watch/2055a0cd-1b93-4e8d-ab41-a41cc1c0ccbe
[todo]
 
  
 
= 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.

Organisation des repository de Polybot

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. Exemple d'un commit signé et d'un commit non signé

Utilisation des sous-modules

[todo]