École thématique SIGR2021 - 29/06/2021

Git, GitHub, GitLab

Git est un système de gestion de version distribué pour

  • tracker les changement dans les fichiers texte
  • gérer l’historique du code source
  • partager le code avec des dépots distants

GitHub et GitLab hébèrgent des dépots distants + des services pour gérer des projets (issue tracking, collaboration, hébergement web, CI/CD).

GitLab sur Huma-num

Objectif de l’atelier

Configurer Git et GitHub pour partager une présentation et son code source.

Les étapes

  1. Créer un compte GitHub
  2. Installer Git sur sa machine
  3. Configurer Git sur sa machine
  4. Connecter sa machine à son compte GitHub
  5. Créer un repo Git
  6. Mettre à jour son repo Git
  7. Diffuser sa présentation au format html via GitHub

Créer un compte GitHub

Créer un compte GitHub

Installer Git sur sa machine

Ouvrir le terminal dans RStudio

Installer Git sur sa machine

Dans le terminal :

which git
git --version
## /usr/bin/git
## git version 2.20.1

Si ça marche, Git est déjà installer. Sinon…

Installer Git sur sa machine

Installer Git sur sa machine

Dans le terminal :

git config --global user.name 'username-de-github'
git config --global user.email 'email-de-github@cnrs.com'
git config --global --list

Connecter votre machine et GitHub

Il existe 2 méthodes pour faire le lien entre votre machine et GitHub :

  • Un système de jetons (token) pour utiliser le HTTPS
  • Un système de clefs SSH pour se connecter… en SSH

Avez vous déjà une paire de clefs SSH

Dans le terminal :

ls -al ~/.ssh/
## total 40
## drwx------  2 tim tim 4096 févr. 20 19:00 .
## drwxr-xr-x 50 tim tim 4096 juin  25 14:14 ..
## -rw-------  1 tim tim 1679 juin  26  2019 id_rsa
## -rw-r--r--  1 tim tim  405 janv. 24  2018 id_rsa.pub
## -rw-------  1 tim tim 9528 mai    7 11:58 known_hosts
## -rw-------  1 tim tim 8640 janv.  6 14:14 known_hosts.old

Si vous voyez une paire de fichier id_rsa / id_rsa.pub, vous avez déjà une paire de clefs SSH. Vous pouvez passer les étapes de génération de clefs.

Générer une paire de clefs SSH

Dans le terminal :

ssh-keygen -t rsa -b 4096 -C "timothee.giraud@cnrz.com"

Générer une paire de clefs SSH

Vous pouvez ajouter une passphrase ou non.

2 fichiers sont créés:

  • une clef privée (~/.ssh/id_rsa)
  • une clef publique (~/.ssh/id_rsa.pub)

Générer une paire de clefs SSH

La clef publique (~/.ssh/id_rsa.pub) devra être indiquée dans les paramètres de votre compte GitHub.

La clef privée devra être connue de votre OS (avec ssh-agent).

Ajouter la clef publique sur GitHub

Ajouter la clef publique sur GitHub

Ajouter la clef publique sur GitHub