Git est un outil de contrôle de version.
Dans la suite
Nous nous concentrerons sur les lignes de commande et l’interface graphique RStudio
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
# Paramètrer son nom et son email.
git config user.name "<votre user name>"
git config user.email "<votre email>"

Pour ajouter des changements en vue de la prochaine validation (prochain commit).

Un “commit” - une validation, représente une image de votre projet à un instant donné. C’est un état qui va être enregistré dans l’historique et qui sera donc atteignable dans le futur.
La commande
git pushest utilisée pour uploader des données locales vers un répertoire distant, par exemple, un projet partagé sur github.
Il faut définir un remote(dépôt distant), par exemple un dépôt github :
# origin est le nom par convention du dépôt distant principal
git remote add origin git@github.com:<username>/<projectname>.git
git add pour lister les fichiers à commitgit commit pour sauvegarder un état donnégit push pour synchroniser ces changements avec un dépôt distantLa commande
git pullest utilisée pour mettre à jour des données locales depuis un répertoire distant, par exemple, un projet partagé sur github.
On merge la branche main du dépôt origine avec notre branche courante de travail.
git pull
Un git pull est équivalent à un git fetch + git merge. L’option un est jugée moins sûre que l’option 2 mais plus simple pour démarrer sur des projets avec des workflow simples.
La commande git branch sert à créer des branches en parallèle de la branche principale main ou master. Utile lorsque l’on collabore à plusieurs, pour créer des branches de fonctionnalités (feature branch), dans de nombreux workflow..
Voir ici pour une présentation de workflows possibles.
La commande git switch permet de changer de branche. La commande git checkout permet entre autres de changer de branche.
Lorsque l’on souhaite fusionner deux branches, on peut réaliser deux types d’opérations :
git mergegit rebaseCes deux opérations diffèrent par la manière de fusionner les historiques (merge préserve l’historique complet, quand rebase réécrit l’historique).
Il est possible d’écrire un fichier .gitignore pour ne pas traquer certains fichiers:
Secrets
Il est facile de glisser des ‘secrets’ dans ses scripts et que ceux-ci se retrouvent dans un historique git : mots de passe, token, informations sensibles. Attention aux fichiers que vous enregistrez dans vos commits (comme le .Rhistory). Soyez vigilants.
add, commit, push et pull.Les github actions sont des outils de CI/CD (continuous integration / continuous delivery) qui permettent l’automatisation de certaines tâches en réponse à un évenement (un push, un commit, sur une branche, …).
Quarto
Quarto est un outil de programmation “littéraire” de type notebook : plus à propos de Quarto lors du dernier cours.
Github permet l’hébergement de sites web statiques par le biais des Github Pages. Ceci rend possible une intégration forte entre votre code et le déploiement d’un site. C’est très pratique pour héberger la documentation d’un package, un site personnel, ou tout site statique.