# -*- mode: org -*-
#+TITLE:     Utiliser Git avec RStudio
#+DATE: June, 2018
#+STARTUP: overview indent
#+OPTIONS: num:nil toc:t

* Table des matières                                           :TOC:
- [[#pour-commencer][Pour commencer]]
- [[#Cloner-un-dépôt][Cloner un dépôt]]
- [[#modifier-un-fichier][Modifier un fichier]]

* Avant de commencer
La première chose à faire est de configurer Git sur votre
ordinateur. Pour ce faire, vous pouvez suivre la vidéo
[[https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85][configurer Git pour Gitlab]] et le document
[[https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/blob/master/module2/ressources/gitlab_fr.org][Git et Gitlab]] correspondant.

Vous pourrez alors utiliser Git avec RStudio. Pour ce faire, vous
pouvez suivre la vidéo [[https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/d132a854b0464ad29085cedaded23136][RStudio - Gitlab]] dont les étapes
sont reprises ci-dessous.

/(Nous vous signalons aussi cette/ [[https://www.youtube.com/embed/uHYcDQDbMY8][vidéo]] /(en anglais) ainsi que le/ [[https://swcarpentry.github.io/git-novice/14-supplemental-rstudio/index.html][tuto
pas à pas]] /(en anglais) de Software Carpentry.)/ 

* Cloner un dépôt
Ouvrir RStudio et procéder comme suit :
- Créer un nouveau projet sous contrôle de version : =File / New Project / Version Control= 
  #+BEGIN_CENTER
  [[file:rstudio_images/new_project.png]]

  [[file:rstudio_images/git.png]]
  #+END_CENTER
- Récupérer l'URL du dépôt Gitlab
  #+BEGIN_CENTER
  [[file:rstudio_images/adresse_depot.png]]
  #+END_CENTER
- Indiquez cette URL dans le champ "Repository URL" /(vous voudrez/
  /peut-être préfixer cette URL avec =xxx@= où =xxx= est votre identifiant/
  /Gitlab pour éviter d'avoir à le ressaisir ultérieurement)/.

  #+BEGIN_CENTER
  [[file:rstudio_images/clone.png]]
  #+END_CENTER
- Si vous êtes derrière un proxy, il faut le définir dans Git (voir le
  paragraphe "Gérer les proxy" de la page sur [[https://www.fun-mooc.fr/courses/course-v1:inria+41016+session02/jump_to_id/7508aece244548349424dfd61ee3ba85][Git et Gitlab]]).
- Git se connecte à Gitlab et récupère une copie complète du dépôt.
- RStudio redémarre dans un mode lié à Git :
  #+BEGIN_CENTER
  [[file:rstudio_images/rstudio.png]]
  #+END_CENTER
- Le gestionnaire de fichiers à droite vous permet de parcourir le
  dépôt sous contrôle de version.
* Modifier un fichier
- Ouvrir le fichier =Module2/exo1/toy_document.Rmd= et le modifier.
- Enregistrer.
- Aller dans le menu Git pour effectuer le commit.
  #+BEGIN_CENTER
  [[file:rstudio_images/commit.png]]

  [[file:rstudio_images/commit2.png]]
  #+END_CENTER
- Sélectionner les lignes à commiter puis cliquer sur =commit=.
  #+BEGIN_CENTER
  [[file:rstudio_images/commit5.png]]
  #+END_CENTER
  Les modifications ont été commitées uniquement sur la machine. Elles
  n'ont pas été propagées sur Gitlab. 
- Cliquer sur =push= pour les propager sur Gitlab.
  #+BEGIN_CENTER
  [[file:rstudio_images/push.png]]

  [[file:rstudio_images/push2.png]]

  [[file:rstudio_images/push3.png]]
  #+END_CENTER
  N.B. : Vous ne pouvez pas propager vos modifications sur GitLab si
  des modifications ont été faites sur GitLab entre-temps. 
  #+BEGIN_CENTER
  [[file:rstudio_images/push4.png]]
  #+END_CENTER
- Il faut d’abord récupérer ces modifications distantes sur votre
  machine locale. Pour ce faire cliquer sur =pull=. 
