- A on tous sauvé un fichier
final.R
- … qu’on a modifié en
final_extra_analysis.R
- … puis en
final_modif_denis.R
etfinal_modif_morgane.R
- … et on a depuis perdu la trace de la dernière sauvegarde 😐
Un système de contrôle de version (SVC) relie et unifie les différentes versions d’un même projet entre elles.
atlassian tutorialUn système de contrôle de version (SVC) permet de :
-
🧐 garder le fil de ses versions
-
⏳ remonter le temps
-
🤝 collaborer efficacement
-
🔭️ avoir accès à ses projets partout
✨ utilisable sous RStudio ✨
git tab in RStudio git command (adapted from C.Staud)Sauvegarder les modifications en local :
git add
(ou ☑) pour selectionner les modifications à sauvergit commit
pour valider la nouvelles version du projet- 🏁 example
-
🎯 est soumis avec un message qui résume son but
-
🐘 garde en mémoire chaque changement de ligne
-
🏷 possède un auteur et un identifiant unique (le hash)
-
🚋 connait le hash du commit parent
On peut explorer toutes nos modifications :
- précédentes avec le
git history
ougit log
- prévue/staged avec le
git diff
- 🏁 example
Sauvegarder les modifications en remote :
git pull
pour récupérer les modifications existantesgit push
pour mettre à jour le remote avec notre local- 🏁 example
🔭 Le repository remote est hébergé en ligne (GitHub, GitLab, Gitea), on peut le cloner sur une autre machine!
Une nouvelle branche permet de :
-
🧦 créer plusieurs versions à partir d’une même base
-
🚦intégrer des corrections une fois validée/terminée
-
🤝 collaborer efficacement
-
🔭️ et on y a encore accès partout
On duplique une base en un nouvelle branche. Les prochains commit
sont spécifiques à la branch active (git show HEAD
).
git branch <new-branch>
pour créer une branchegit checkout <new-branch>
pour la définir comme activegit push -–set-upstream
pour ajouter la branch au remote- 🏁 example
On intègre les commit
d’une branche dans une autre (git merge
).
git merge <my_branch>
intègre my_branch dans la branche active- 💡 le
git pull
est un merge entre le remote et le local - 😈 Un merge conflict peut arriver entre
commit
En collaboration, on peut créer un pull request
de notre branch sur un
repo remote pour demander à intégrer nos commit
dans la master branch.
git
https://profy.dev/project/github-minesweeper
https://www.atlassian.com/git/tutorials
RStudio git
https://thinkr.fr/travailler-avec-git-via-rstudio-et-versionner-son-code
quarto