Git & GitHub

Objectif

L’objectif de cet exercice est de vous familiariser avec l’utilisation de et .

Travailler seul

  Vous allez envoyer le research compendium créé à l’Exercice 1 sur votre compte GitHub.

GitHub First vs. GitHub Last

Cette approche est appelée GitHub Last : on crée d’abord le projet en local, puis on crée le dépôt distant. Pour plus d’information : GitHub First et GitHub Last.

Initialiser git

Dans un premier temps, vous devez initialiser git dans votre projet. Entrez la ligne de commande suivante dans le terminal de RStudio :

## Initialisation de git -----
git init

Vérifiez l’état de votre projet :

## Statut des fichiers vu par git -----
git status

Ajout d’un .gitignore

Certains fichiers sont inutiles à versionner et peuvent même parfois créer des conflits. C’est le cas notamment du fichier .Rproj. Nous allons les ajouter au .gitignore en utilisant la fonction add_to_gitignore() de rcompendium

## Ajout d'un .gitignore pour les projets R -----
rcompendium::add_to_gitignore()

Première version

Il est temps de créer une première version. Cela se fera en deux temps : 1) sélection des fichiers (git add) et 2) enregistrement de la version (git commit).

## Sélection de tous les fichiers ----
git add .

## Création d'une nouvelle version ----
git commit -m "init repo"

Vérifiez le status des fichiers :

## Statut des fichiers vu par git -----
git status

Affichez l’historique :

## Historique des versions -----
git log

Création du dépôt GitHub

Maintenant, nous souhaitons envoyer notre projet sur GitHub. Rendez-vous sur GitHub et créez un nouveau dépôt VIDE : donnez juste un nom de dépôt et n’ajoutez aucun fichier supplémentaire (pas de licence, .gitignore, README). La page du dépôt créé contient une série d’instructions correspondant à trois cas de figure. Nous allons suivre la section Push an existing repository from the command line.

Dans le terminal de RStudio :

## Ajout du chemin vers le dépôt distant ----
git remote add origin git@github.com:your_account/your_repo.git

## Envoi du dépôt local vers le dépôt distant ----
git push -u origin main

Félicitation ! Votre research compendium est maintenant sur GitHub.

GitHub API

Une alternative est d’utiliser l’API GitHub via la fonction use_github() du package usethis. Cette fonction va créer le dépôt distant sur GitHub et envoyer votre dépôt local sur GitHub (git push).

## Création du dépôt public GitHub ----
usethis::use_github()

  Pour utiliser l’API GitHub, vous devez avoir sauvegardé localement votre GitHub Personal Access Token (PAT) tel quel indiqué ici.

Continuez à modifier vos fichiers, créez de nouvelles versions (git add et git commit) et envoyez-les sur GitHub (git push).

Collaborer

  Mettez-vous par groupe de 2-3 personnes et déterminez un leader parmis vous : vous allez collaborer sur son projet.

Sur GitHub, le leader va allez dans les Settings et ajoutez une personne de votre groupe comme collaborateur de votre projet.

  Mettez en oeuvre 3 solutions pour collaborer sur le même projet. En fonction de votre statut dans le projet et de votre objectif :

  • Utilisez les Issues pour suggérer au leader des améliorations
  • Si vous êtes collaborateur, Clonez le dépôt, faites les modifications et envoyez-les
  • Si vous ne l’êtes pas, Forkez, Clonez, et essayez la Pull Request