Travailler de manière reproductible est une compétence indispensable aujourd’hui. Et parmi l’ensemble des choses que l’on peut mettre facilement en place pour travailler de manière reproductible avec R et RStudio, il y a le versionnage de nos scripts, en local, avec l’outil git.
Le versionnage des scripts a deux grands avantages :
Le premier est de garder une trace de toutes les modifications importantes réalisées au cours du développement de nos analyses, et de les visualiser facilement. Dans l’exemple ci-dessous, la partie rouge correspond à du code supprimé entre deux versions de mon script, la partie verte correspond à du code ajouté entre ces deux versions, et la partie grise correspondent à du code inchangé.
Le second avantage est de ne conserver qu’un seul fichier, à la place de multitudes versions qui s’accumulent à la racine de votre projet R (ou dans votre dossier « script »), comme « mon_super_script_V1 », « mon_super_script_V2″, …. »mon_super_script_v376 », ou encore « mon_super_script_v19mai2022_13h », etc..etc…
Dans cet article, je vais vous montrer en pas à pas, comment installer git, comment le coupler à R Studio, et comment l’utiliser.
C’est très simple ! Il suffit de se rendre sur la page Download de l’outil Git, de choisir son système d’exploitation, et de télécharger l’application.
Il faudra ensuite, bien évidemment, l’installer (en double cliquant sur le fichier exécutable téléchargé).
Dans RStudio –> Menu Tools (tout en haut) –> Global Options –> menu Git /SVN –> Create RSA Key
Vous allez obtenir un message vous demandant l’autorisation de redémarrer RStudio, dites oui !
Au redémarrage de RStudio, des éléments « Git » vont apparaitre :
Dans le terminal de R Studio écrivez les commandes suivantes, en remplaçant par vos informations, évidemment. Vous ne pouvez pas faire de copier-coller !
git config --global user.name 'Jane Doe'
git config --global user.email 'jane@example.com'
Voici ce que cela donne :
Comme je l’ai déjà expliqué de nombreuse fois, vous devez travailler en projet R. Lorsque vous allez créer un nouveau projet R, vous aurez alors le choix d’inclure git à ce projet. Pour cela, cochez la casse « Create a git repository »
Vous aurez également la possibilité d’utiliser le package renv pour gérér vos packages.
Pour cela, allez dans le menu Tools ==> Project Option ==> Git/SVN et choisissez git comme Version control system ==> OK
Là aussi, c’est assez simple. Pour cela:
1. Créez un nouveau document .R ou .Rmd : File ==> New File ==> R Script ou R Markdown
2. Ecrivez quelques lignes.
3. Sauvez le (File ==> Save As…)
4. Allez dans l’onglet Git, et cochez la case correspondant à votre script (c’est pour dire à Git que c’est ce document que vous voulez versionner)
5. Cliquez sur commit ( on peut le traduire par « enregistrement »)
6. Inscrivez un message de commit, qui correspond au pourquoi de cette version. Par exemple pour un premier commit (enregistrement), on peut écrire « commit1 ». Si c’est parce que vous avez ajouté un nouveau plot vous pouvez écrire « ajout boxplot par espèce » par exemple.
7. Reprenez votre script et modifiez le. Supprimez des lignes, ajoutez en de nouvelles:
8. Refaites les étapes 3 à 6 : Sauvez ==> git ==> sélectionnez ==> commit, écrivez un message de commit.
Remarque : A cette étape, vous pouvez visualiser les différences de code avec la version (commit) précédente.
1. Allez dans l’onglet Git, puis cliquez sur commit
2. Allez dans l’onglet History de la fenêtre de commit
Dans la partie haute de la fenêtre, vous pouvez voir l’historique des commits (le plus ancien en bas, le plus récent en haut).
Dans la seconde partie, vous pouvez voir les modifications entre la version choisie (dans la parie haute, vous pouvez cliquer sur les différentes versions) et la précédente, avec :
Et en cliquant sur View File @…. vous accéderez au code de la version considérée.
Bon, ben je crois que vous n’avez plus d’excuse pour ne pas vous mettre au versionnage de vos scripts. 😉 Essayez, vous verrez, c’est très pratique ! Dans un futur article, je vous montrerai comment utiliser Git en remote, avec GitHub.
Si cet article vous a plu, ou vous a été utile vous pouvez soutenir le blog, en réalisant un don libre sur sa page Tipeee.
Enregistrez vous pour recevoir gratuitement mes fiches « aide mémoire » (ou cheat sheets) qui vous permettront de réaliser facilement les principales analyses biostatistiques avec le logiciel R et pour être informés des mises à jour du site.
3 Responses
Bonjour,
Merci pour ce tuto qui m’a fait découvrir cette possibilité d’inclure Git. Je n’arrive cependant pas à désigner un noeud comme point de départ d’une nouvelle branche. Est-ce possible ? Si oui comment ? Ou plus simplement, est-il possible de désigner comme master une version antérieur pour pouvoir repartir de cette version là ? Merci d’avance pour votre réponse.
Bonjour,
mes connaissances de git sont assez limité, je ne saurais pas vous répondre….
Bonne continuation
Pour les personnes qui arrivent sur cet article en 2024 ou après et qui ont des soucis avec la commande dans la console (Erreur : symbole inattendu dans « git config »), je ne sais pas d’où ça vient mais vous pouvez le saisir directement depuis l’executable « Git_bash.exe ». Suivre les opérations et vérifier en retapant la ligne de commande sans renseigner de nom pour voir la variable enregistrée. Pareil pour l’adresse mail