présentation sur l'échafaudage dans des travaux en hauteur
Git & Rstudio vincent guyader
1. Git & Rstudio
Versionner son code et travailler de manière
collaborative
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 1 / 68
2. Data Scientist, R expert.
https://rtask.thinkr.fr
https://github.com/ThinkR-open
https://twitter.com/thinkr_fr
Vincent Guyader
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 2 / 68Git & Rstudio
3. git c'est quoi ?
git est un logiciel que vous
allez installer sur votre
ordinateur, sur ceux de
vos collaborateurs et sur
un serveur distant.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 3 / 68Git & Rstudio
4. Git à quoi ca sert ?
git va vous aider à suivre
les modifications que vous
allez faire sur un projet.
(seul ou à plusieurs)
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 4 / 68Git & Rstudio
5. Git ca ressemble à quoi ?
git est un outil en ligne de
commande adoré par les
développeurs de tous
bords. MAIS on peut
(quasiment) se passer de la
ligne de commande en
passant par des interfaces
graphiques bien pensées.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 5 / 68Git & Rstudio
6. Git ca ressemble à quoi ?
Rstudio intègre git
nativement et le rend
facilement accessible.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 6 / 68Git & Rstudio
7. Git ca vient d'où ?
Concu par linus torvald (le papa du noyau
linux) à partir de 2005.
quand on lui a demandé
pourquoi il avait appelé son
logiciel “git”, qui est à peu près
l'équivalent de “connard” en
argot britannique, Linus
Torvalds a répondu “je ne suis
qu'un sale égocentrique, donc
j'appelle tous mes projets d'après
ma propre personne. D'abord
Linux, puis Git.”
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 7 / 68Git & Rstudio
8. (1/5) Raconter l'histoire de votre projetGit est utilisé pour faire
des snapshots de l'état
des fichiers d'un dossier
que vous souhaitez
surveiller
Ce dossier est appelé
repository
A chaque fois que vous
souhaitez figer l'état du
repository vous faites
un commit
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 8 / 68Git & Rstudio
9. (1/5) Raconter l'histoire de votre projet
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 9 / 68Git & Rstudio
10. (1/5) Raconter l'histoire de votre projet
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 10 / 68Git & Rstudio
11. (1/5) Raconter l'histoire de votre projet
Chaque commit fige un
certain nombre
d'informations :
qui a fait la
modification ?
quand la modification
a été réalisée ?
pourquoi la
modification a été
réalisée (via un
message de commit) ?
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 11 / 68Git & Rstudio
12. (1/5) Raconter l'histoire de votre projet
Git consigne l'histoire de votre projet :
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 12 / 68Git & Rstudio
13. (1/5) Raconter l'histoire de votre projet
repository : le dossier
que vous voulez surveiller
commit : un instant figé
dans la vie de votre projet
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 13 / 68Git & Rstudio
14. (2/5) Voyager dans le temps
Git peut vous servir de
machine à voyager dans le
temps.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 14 / 68Git & Rstudio
15. (2/5) Voyager dans le temps
A chaque commit on associe un hash, une succession de caractères aléatoires et
unique.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 15 / 68Git & Rstudio
16. (2/5) Voyager dans le temps
On peut faire référence a
ce hash pour effectuer un
checkout est revenir à
l'état de ce commit.
Cela modifie le
repository mais n'efface
aucunement les autres
commit.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 16 / 68Git & Rstudio
17. (2/5) Voyager dans le temps
hash : un identifiant
unique
checkout : un saut dans le
temps vers un commit
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 17 / 68Git & Rstudio
18. (3/5) Faire des essais/erreurs
La vie d'un projet n'est pas
un long fleuve tranquile,
on prend parfois des
détours, on tombe sur des
culs de sac et on fait demi
tour.
Git rend facile le fait de
pouvoir faire des choses
"juste pour voir".
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 18 / 68Git & Rstudio
19. (3/5) Faire des essais/erreurs
Pour cela on va utiliser des
branches
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 19 / 68Git & Rstudio
20. (3/5) Faire des essais/erreurs
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 20 / 68Git & Rstudio
21. (3/5) Faire des essais/erreurs
La branche dite master
est spéciale, elle contient la
version "propre" du code.
On utilise classiquement
une branche dev pour les
développements, de
laquelle partent d'autres
branches pour le
développement de
fonctionnalités.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 21 / 68Git & Rstudio
22. (3/5) Faire des essais/erreurs
Les branches peuvent
n'aboutir à rien, mais
certaines vont pouvoir
rejoindre le "tronc"
principal, on parle alors de
merge. Parfois des lignes
de codes diffèrent d'une
branche à l'autre cela
genere un conflict.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 22 / 68Git & Rstudio
23. (3/5) Faire des essais/erreurs
branche : un chemin
parallèle
merge : la fusion de une
ou plusieurs branches
conflict : des
modifications concurentes
sur le même fichiers, que
git ne parvient pas à gerer.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 23 / 68Git & Rstudio
24. (4/5) Faire un backup de votre projet
Git vous permet de faire
un backup de votre projet
versionné. Sur un serveur
distant, ailleurs, on appelle
cet endroit le remote
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 24 / 68Git & Rstudio
25. (4/5) Faire un backup de votre projet
Votre remote peut être sur
github (le plus célèbre) ou
sur un gitlab auto-hebergé.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 25 / 68Git & Rstudio
26. (4/5) Faire un backup de votre projet
Pour récuperer un projet depuis un
remote, la première fois, on effectue un
clone. Toute personne effectuant un
clone récupère une copie du projet sur
son ordinateur.
Quelqu'un effectuant des commit sur son
projet local va pouvoir les envoyer sur le
remote en faisant un push.
Les autre personnes connectées au remote
effectueront un pull pour récuperer les
commit de leur collaborateur
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 26 / 68Git & Rstudio
27. (4/5) Faire un backup de votre projet
remote : un serveur distant
ayant une copie du
repository
clone : récupérer pour la
première fois le repository
depuis le remote
pull : récupérer les
nouveaux commit en local
depuis le remote
push : envoyer ses nouveaux
commit vers le remote
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 27 / 68Git & Rstudio
28. (5/5) Un outil de collaborationGit est un outil de collaboration.
les commit permettent de suivre
ce qui est fait sur le projet.
le remote permet à d'autres
personnes d'accéder a votre
projet
la gestion des merge permet de
combiner votre travail avec celui
de quelqu'un d'autre
Grâce à git beaucoup de personnes
peuvent travailler sur le même
projet.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 28 / 68Git & Rstudio
29. Vocabulaire repository : le dossier que vous voulez
surveiller
commit : un instant figé dans la vie de votre
projet
hash : un identifiant unique
checkout : un saut dans le temps vers un commit
branche : un chemin paralelle
merge : la fusion de une ou plusieur branche
remote : un serveur distant ayant une copi de
repository
clone : récuperer pour la premiere fois le
repository depuis le remote
pull : recuperer les nouveaux commit en local
depuis le remote
push : envoyer ses nouveaux commit vers le
remote
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 29 / 68Git & Rstudio
30. Fonctionnalités :
1/5 : Raconter l'histoire
de votre projet
2/5 : Voyager dans le
temps
3/5 : Faire des
essais/erreurs
4/5 : Sauvegarder son
travail
5/5 : Collaborer
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 30 / 68Git & Rstudio
31. Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 31 / 68Git & Rstudio
32. Git et RStudio
Git est nativement intégré dans RStudio.
Si vous êtes allergique à la ligne de commande, la fenêtre "Git" vous permet de réaliser
les opérations courantes en "point and clic".
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 32 / 68Git & Rstudio
33. Usage de Git
Au quotidien vous utiliserez ces 3 instructions principales
commit
Une fois des fichiers de votre projet modifiés, utiliser le panneau "Git" et le bouton
commits pour figer un état. Un commentaire expliquant vos modifications devra être
saisi.
Push
Une fois qu'un certain nombre de commit ont été effectués, afin de les envoyer sur le
remote, il faut effectuer un push. Pour celà, utiliser la fenêtre "Git" et le bouton push
(représenté sous la forme d'une flèche montante).
Pull
Pour rapatrier des modifications depuis le remote, il faut faire un pull en utilisant la
fenêtre "Git" et le bouton pull (représenté sous la forme d'une flèche descendante).
Votre projet Rstudio est alors modifié.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 33 / 68Git & Rstudio
34. Usage de Git
Le panneau git de Rstudio va vous indiquer en temps réel l'état de votre projet. Le
statut des différents fichiers et dossiers seront affichés.
Un nouveau fichier sera associé a une icone orange contenant un ?
Ce nouveau fichier sera associé un une icone verte contenant un A une fois que
vous l'aurez coché (dans la colonne 'staged').
Un fichier modifié sera associé a une icone bleue contenant un MMeetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 34 / 68Git & Rstudio
35. Usage de Git
Premier commit
Avec File > New File > Rscript ( ou ctrl + shift + N) ouvrez un nouveau fichier .R .
Enregistrez le (ctrl + S) dans votre projet. Il va apparaitre en tant que nouveau
fichier dans le panneau Git. Choisissez un nom explicite,idéalement sans
majuscules ni caracteres spéciaux.
Avant de faire votre Premier commit, écrivez quelque chose dans ce fichier avant
de l'enregistrer à nouveau.
Cochez le dans la colonne staged ( il passe avec une icone verte A )
Cliquez sur le bouton commit
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 35 / 68Git & Rstudio
36. Usage de Git
Premier commit
Vous devez écrire un message de commit. Ce message est important car il raconte
l'histoire de votre projet. Cliquez ensuite sur le bouton commit de cette fenêtre. Vous
pouvez ensuite cliquer sur close et fermer la fenêtre de commit.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 36 / 68Git & Rstudio
37. Usage de Git
Premier commit
Vous devez écrire un message de commit. Ce message est important car il raconte
l'histoire de votre projet. Cliquez ensuite sur le bouton commit de cette fenêtre.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 37 / 68Git & Rstudio
38. Usage de Git
Premier commit
Faites à présent d'autres modifications sur ce fichier, enregistrez-les. git detecte la
modification et passe votre fichier au statut "modifié" (icone bleue avec un M)
Faites un nouveau commit de cette modification :
1. on coche le fichier
2. on clique sur commit
notez la fenêtre qui précise les modifications effectuées
3. on précise le message de commit
4. on clique sur commit
5. on ferme la fenêtre de commit
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 38 / 68Git & Rstudio
39. Usage de Git
Premier push
Pour l'heure les commits que vous avez fait ne sont présents qu'en local sur votre
ordinateur, le remote n'est pas au courant des modifications que vous avez faites.
Il vous faut envoyer ces commits sur le serveur distant, vous allez faire un push. Pour
cela il faut cliquer sur la flèche verte montante du panneau git.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 39 / 68Git & Rstudio
40. Usage de Git
Premier push
Rendez-vous à nouveau sur gitlab à l'adresse de la forme
https://git.thinkr.fr/votre_nom/monprojet , actualisez la page. Vous verrez que votre
projet est accessible en ligne.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 40 / 68Git & Rstudio
41. Usage de Git
Premier pull
Pour le moment vous travaillez seul sur votre projet, donc le pull est sans effet : vous
êtes "already up to date". Nous allons simuler une modification d'un fichier en
intervenant directement dans l'interface web de gitlab.
cliquer sur le fichier .R que vous avez versionné, puis sur 'edit'
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 41 / 68Git & Rstudio
42. Usage de Git
Premier pull
Utiliser l'interface web pour modifier le fichier et cliquer sur 'commit change'
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 42 / 68Git & Rstudio
43. Usage de Git
Premier pull
Rendez vous dans Rstudio pour cliquer sur pull (flèche verticale descendante), vous
verrez alors le fichier .R se mettre à jour dans votre projet local
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 43 / 68Git & Rstudio
44. Usage de Git
le .gitignore
Il est n'est pas necessaire de versionner l'intégralité des fichiers de votre projet. Seuls
ceux "cochés" seront associés à des commits.
Il est possible d'explicitement demander à git de ne pas surveiller tel ou tel fichier.
C'est le role du fichier .gitignore qui se trouve à la racine de votre projet.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 44 / 68Git & Rstudio
45. Usage de Git
le .gitignore
Il s'agit d'un fichier texte qui accepte les expressions régulieres et permet de définir
des régles qui correspondent à plusieurs fichiers.
Vous pouvez editer ce fichier directement ou utiliser dans R la commande :
usethis::use_git_ignore("fichier.R")
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 45 / 68Git & Rstudio
46. Usage de Git
Voir l'historique
En cliquant sur commit puis history, vous verrez la succession de commits réalisés.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 46 / 68Git & Rstudio
47. Usage de Git
Voir l'historique
Les message de commits sont très importants
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 47 / 68Git & Rstudio
48. Usage de Git
Premier conflit
Ecrire à plusieurs en même temps sur le même fichier, même avec un outil dédié reste
quelque chose de "problématique". Parfois les modifications que vous allez récupérer
avec un pull contredisent des modifications que vous avez effectuées de votre côté en
local. Il se produit alors un conflit.
Le fichier est associé a une icone orange avec un U, et son contenu peut être un peu
déroutant... Les conflits sont des lignes de codes qui diffèrent d'une version à l'autre.
La résolution des conflits est à la charge de l'utilisateur.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 48 / 68Git & Rstudio
49. Usage de Git
Premier conflit
Pour générer un conflit :
1. Depuis Rstudio modifer un fichier, faire un commit
2. Depuis l'interface web modifier ce même fichier, en racontant autre chose et faire
'commit change'
3. Depuis Rstudio faire un pull
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 49 / 68Git & Rstudio
50. Usage de Git
Premier conflit
Dans le fichier on distingue des parties délimitées par des <<<< et des >>>>, et vont
s'entrecroiser les lignes qui viennent des commits locaux et des commits distants.
Pour résoudre un conflit, 2 solutions :
1. Pour les cas simples, on peut éditer directement, à la main le fichier en prenant
soin de bien supprimer les <<<< et >>>> (ctrl + D permet de supprimer une ligne
dans RStudio). Une fois la modification effectuée, il suffit de recocher le fichier et
de refaire un commits.
2. Pour les cas plus complexes, un outil peut être nécessaire. Nous allons utiliser
winmerge. Pour le lancer depuis le terminal il faut lancer git mergetool
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 50 / 68Git & Rstudio
51. Usage de Git
Premier conflit
Winmerge permet de voir simultanément les 3 fichiers, le local, le distant et celui qui
sera conservé. Il dispose d'outil graphique permettant de choisir ligne à ligne les
modifications à accepter ou non.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 51 / 68Git & Rstudio
52. Usage de Git
Première branche
Pour l'heure nous travaillons directement dans l'unique branche 'master'. Nous allons
créer une branche depuis Rstudio. Cette branche permettra de travailler sur le projet
sans toucher, pour le moment, à la branche 'master'.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 52 / 68Git & Rstudio
53. Usage de Git
Première branche
Dans cette 'nouvelle branche', effectuez des modifications et des commits. Modifiez
des fichiers rajoutez-en des nouveaux et faites un push.
Retournez sur la banche master
Vous remarquerez que le contenu de votre projet local a été remis dans le même état
qu'au moment où vous avez créé la 'nouvelle branche'.
Profitez-en pour rajouter un nouveau fichier dans la branche master, faites un
commits et un push.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 53 / 68Git & Rstudio
54. Usage de Git
Premier merge
Les 2 branches 'master' et 'nouvelle branche' diffèrent de plus en plus, nous allons
maintenant verser dans master les modifications effectuées dans 'nouvelle branche' :
nous allons faire un merge
2 façons de faire :
1. Via l'interface web de gitlab, en cliquant sur 'Merge Request'
Une merge request ne devrait jamais être validée par l'auteur de la modification. Il
s'agit d'une bonne occasion pour qu'une autre personne dans le projet vérifie puis
accepte la modification effectuée sur 'master'. gitlab rend ce processus 'user friendly'.
Dans gitlab on parle de 'merge request', dans github de 'pull request'. Il s'agit de la
même chose.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 54 / 68Git & Rstudio
55. Usage de Git
Premier merge
1. Depuis le terminal
git checkout master # pour se positionner dans master si ce n'est pas le
cas
git merge nouvelle_branche # pour rappatrier le contenu de nouvelle_branche
vers master
Des conflits peuvent là-aussi avoir lieu, ils sont à régler avant d'aller plus loin.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 55 / 68Git & Rstudio
56. Usage de Git
Premier checkout
Git vous permet de revenir en arrière et de voyager dans l'histoire de votre projet. Il
est tout à fait possible de revenir à l'état du projet d'il y a quelques jours pour créer
une nouvelle branche à cet endroit.
Pour vous repositionner sur un commit particulier, il vous faut trouver son hash. il
est visible dans la colonne 'SHA1' dans le volet history
On peut alors dans le terminal effectuer un checkout
git checkout 5fd8e
Si l'on souhaite effectuer des modifications à partir de ce commit il convient d'y créer
une branche, afin d'éviter de perdre le contact avec les autres commits plus récents.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 56 / 68Git & Rstudio
57. git status
A tout moment dans le terminal l'instruction git status nous retournera l'etat
actuel du dépôt. Il s'agit de la version "ligne de commande" de ce que représente le
panneau git de Rstudio.
Pour certain cas complexes, seule cette instruction vous donnera les informations
necessaires à la résolution de votre souci. Ou vous permettra de copier coller dans
google les messages d'erreurs que vous risquez de rencontrer.
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Untracked files:
(use "git add ..." to include in what will be c
ommitted)
mon premier script.R.orig
nothing added to commit but untracked files present (us
e "git add" to track)
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 57 / 68Git & Rstudio
58. le working directory est votre
dossier de travail "classique"
la zone de staging contient les
fichiers que vous avez coché dans
l'interface git de Rstudio
les commits sont stockés dans le
repository.
Les trois niveaux de travail en local
A chaque action dans l'interface git de Rstudio correspond une ligne de commande,
voici un workflow classique :
git add . # on coche tout les fichiers
git commit -m "message de commit" # on fait un commit
git pull # on récupere les modifications distantes
git push # on envoie les modifications sur le repository
git checkout -b autre_branche # on construit une branche
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 58 / 68Git & Rstudio
59. Le quatrième niveaux 'bonus' de travail en local
Il existe une 4ème zone de travail appelée stash, elle permet d'y remiser des
modifications faites dans le working directory, sans devoir les passer en staging (c'est-
à-dire les cocher ou les passer dans un commit). Cette zone peut-être vue comme une
zone tampon. On l'utilise souvent avant un pull, un merge ou pour mettre de coté les
modifications en cours le temps d'une opération "périlleuse".
Depuis le terminal
git stash # envoie le contenue des modifications non suivies dans la remise
git stash apply # renvoie la remise vers le working directory
Vous pouvez avoir plusieurs remises et les visualiser avec git stash list
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 59 / 68Git & Rstudio
60. Vue d'ensemble des commandes de bases
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 60 / 68Git & Rstudio
61. Autour de git
gitlab et github sont bien plus que "git" il s'agit de véritables outils dédiés à la gestion
du développement d'un projet. Beaucoup de fonctionnalité annexes y sont
implémentés.
On notera tout particulierement :
les issues
le kanban
l'intégration continue
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 61 / 68Git & Rstudio
62. Autour de git
Les issues
Les issues sont des de taches et/ou de bug relatifs au projets. On peut aisément :
discuter un point
définir une échéance
assigner une personne
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 62 / 68Git & Rstudio
63. Autour de git
Les issues
Il est possible, et même recommandé d'associer ses commits à une issue. Pour cela il
faut faire référence a #numero_issue dans le message de commit. Le commit viendra
alors s'intércaler dans la discussion. Des notations spécifiques comme fix #123 ou
close #123 permettent de fermer une issue via un commit.
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 63 / 68Git & Rstudio
64. Autour de git
Les kanban
Les issues peuvent etre associé à des label en fonction de leurs états. on peut alors voir
l'avancement de chacun des points dans le temps et la charge de chacun des
contributeurs.
L'idée est de déplacer une issue de la gauche (personne n'a pris en charge le soucis)
vers la droite (l'issue et terminée et validée)
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 64 / 68Git & Rstudio
65. Autour de git
L'intégration continue.
Avant de faire un push il convient de vérifier que le code envoyé est correct (par
exemple dans le cadre de la création d'un package R on lancera un check) mais pour
plus de prudence on peut demander à gitlab de lui meme lancer les différents test sur
le projet. Ces tesst peuvent etre divers et être lancé dans des environnements
différents (ancienne version de R, actuelle et future)
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 65 / 68Git & Rstudio
66. Autour de git
L'intégration continue.
Ces outils se basent sur docker et sont facile a mettre en oeuvre. En quelque clic
l'interface et prête, et il ne reste plus qu'à rajouter un fichier .gitlab-ci.yml à la
racine du projet
image: rocker/tidyverse
stages:
- build
- test
- deploy
building:
stage: build
script:
- R -e "remotes::install_deps(dependencies = TRUE)"
- R -e 'devtools::check()'
testing:
stage: test
allow_failure: true Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 66 / 68Git & Rstudio
67. Git flow
Travailler à plusieur necessite de mettre en place une methode de travail. Elle est à
adapter à chaque type de projet et en fonctions des équipes. Comment et quand créer
une branche, quelle notation, quelle procédure de contrôle... ces notions
correspondent à git flow
Meetup R Addicts Paris - 07/11/2019 - https://thinkr.fr 67 / 68Git & Rstudio