Pratiquer Git avec les outils suivants :
Pourquoi aurait-on besoin de Git ?
Généralement, les diapos seront construites avec 3 onglets permettant de faire le lien avec les outils suivants :
Un logo est présent sur chaque diapo pour rappeler de quel mode il s’agit.
sudo apt-get install gitImportant
Nous ne parlerons pas de l’interface graphique Git-Gui directement installée au moment du téléchargement de Git.
D’abord installer R :
Puis RStudio :
Ouvrir un terminal et saisir les commandes en les adaptant :
# Définir votre identité qui sera associée à vos validations Git
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
# En avance pour la Session 2, définir le nom de la branche principale en accord avec la forge et les derniers usages
git config --global init.defaultBranch mainPrérequis : disposer d’un dossier dans lequel on peut écrire.
Pour un dossier vide, on crée un dossier “mon_projet” :
Pour un dossier contenant déjà des fichiers, on se place dans le dossier :
Prérequis : travailler dans un projet RStudio (Documentation RStudio).
Créer un projet
Ouvrir un projet existant
Initialiser un dépôt Git “local” pour suivre les fichiers du dossier “mon_projet” :
Un dossier .git est créé dans mon_projet. C’est là que Git stocke les informations dont il a besoin.
Consulter son contenu dans un terminal
Ne pas essayer d’éditer les fichiers du dossier .git.
Lors de la création d’un projet :
Ou lancer la commande git init dans le terminal.
Après actualisation de RStudio, Git est désormais intégré à RStudio.
Ne pas essayer d’éditer les fichiers du dossier .git.
Dans VS Code, sur le dossier à suivre :
Un dossier .git est créé, c’est là que Git stocke les informations dont il a besoin.
Contrôler en ouvrant un terminal et en vérifiant la présence d’un dossier .git.
Ne pas essayer d’éditer les fichiers du dossier .git.
Création d’un dépôt Git local
.git a été crééIl est souvent très utile de faire le point sur les évolutions en cours :
Il s’agit donc de connaître le statut du dépôt.
Important
Cette commande est importante à assimiler. Au moindre doute, on doit avoir le réflexe de l’utiliser !
L’onglet Git de RStudio vous permet de connaître l’état du dépôt rattaché à votre projet :
On voit dans l’interface que le fichier .gitignore n’est pas encore suivi par Git : icône orange avec un “?” et état “untracked”.
L’outil “Source Control” permet de connaître l’état du dépôt rattaché au dossier :
On voit donc que :
.gitignoreLe fichier .gitignore permet de préciser quels fichiers et dossiers doivent être ignorés par Git.
Pour cela, on utilise des modèles (ou patterns) et des noms de fichiers et dossiers explicites :
*~
*.bak
*.txt
ce_fichier_a_ignorer.data
/logs/
temp/
.vscode
Il est possible de créer d’autres fichiers .gitignore dans des sous-dossiers de votre projet.
Par défaut, le fichier .gitignore est à créer à la racine de votre projet :
.gitignore est automatiquement créé au moment de l’initialisation de Git dans le projet. Par défaut il contient les fichiers suivants :.Rproj.user
.Rhistory
.RData
.Ruserdata
Des exemples de fichiers sont disponibles sur différents sites web, tels que
Un commit permet :
Chaque “commit” dispose d’un identifiant unique, géré par Git, et de métadonnées associées (date, auteur, message…).
Les fichiers des dossiers peuvent être dans quatre états :
.gitPour créer un commit, il faut commencer par avoir quelque chose à commiter.
On va donc créer un fichier vide ou travailler avec un fichier déjà existant :
Ensuite, il faut désigner les fichiers qui vont faire l’objet du commit :
Finalement, on déclenche l’opération de commit, avec un message pertinent :
À ce stade, le fichier mon_fichier.txt est enregistré dans les fichiers suivis par Git.
Pour créer un commit, cliquer sur le bouton “Commit” (ou Ctrl+Alt+M) :
Une fenêtre s’ouvre permettant de voir les fichiers non suivis ou les fichiers avec des modifications :
Pour créer un commit contenant le fichier .gitignore :
.gitignore.gitignore au dépôtPour créer un commit, il faut commencer par avoir quelque chose à “commiter”. On va donc créer un fichier
Constatez que le fichier est proposé en vert (add) dans “Source Control”
Finalement, on déclenche l’opération de commit (2), après avoir saisi un message d’accompagnement (1) puis “Ctrl Enter” ou on clique sur la case à cocher dans l’onglet “Source control”
À ce stade, le fichier mon_fichier.txt est enregistré dans les fichiers suivis par Git.
Si une erreur survient avec le message suivant :
C’est que votre identité n’est pas connue de Git (les commit sont signés par des auteurs).
On peut ensuite relancer le commit.
Ajout d’un fichier de code au dépôt
.R.git status ou via l’interface de votre IDE.Ignorer les fichiers avec l’extension .data
.gitignore..data.git status ou via l’interface de votre IDE.test.data avec un contenu quelconque et constater qu’il n’est pas proposé au suiviBonnes pratiques pour les commits
Mauvaises pratiques pour les commits
Messages de commit :
Update code.rPetit rajoutCode réparéPratique
Prendre le temps de faire quelques commits supplémentaires en ajoutant/modifiant des fichiers sur le dépôt.
Pour voir l’historique des commits sur un dépôt, on peut utiliser les commandes suivantes :
On peut afficher les modifications du commit correspondant à un hash particulier
Dons l’onglet Git de RStudio, il y a un bouton “History”.
Ce bouton permet d’accéder à l’historique du dépôt (tous les commits effectués dessus) :
En sélectionnant un commit, on peut voir les informations qui le concernent :
Il est aussi possible de voir un fichier tel qu’il était suite à un commit particulier :
On peut alors parcourir un “instantané” du fichier :
Si l’on souhaite récupérer cet instantané, on peut l’enregistrer comme fichier :
Pour voir l’historique des commits sur un dépôt
Nécessite d’avoir l’extension “Git history” installée
En cliquant sur une ligne de l’historique on peut accéder aux détails du commit
Git dans VS Code permet aussi aussi de suivre les suppressions et renommages de fichiers
Dans cette section :
git add, ni git commit).git add) mais non commitées (pas de git commit)Modifier un fichier sans faire de commit sur les modifications mais penser à sauvegarder le fichier :
On peut aller dans l’interface de commit pour voir les modifications :
Si l’on souhaite supprimer toutes les modifications non commitées, on peut faire un clic droit sur le fichier concerné et les annuler avec “revert” :
Attention
Attention, c’est tout ce qui a été modifié dans le fichier depuis le dernier commit qui sera supprimé :
Modifier un fichier sans faire de commit sur les modifications mais penser à sauvegarder le fichier :
On peut aller dans l’interface de commit pour voir les modifications :
Si l’on souhaite supprimer toutes les modifications non commitées, on peut cliquer sur la flèche “discard changes” pour le fichier concerné :
Attention, c’est tout ce qui a été modifié dans le fichier depuis le dernier commit qui sera supprimé :
Ajouter les nouvelles modifications au commit précédent en passant par le terminal puis
Constatez qu’il n’y a pas de nouveau commit dans la liste dans l’historique.
Utiliser le menu déroulant du bouton Commit.
Annuler une modification
<!— Etiquetage —>
<!— {{< include 11_etiquetage.qmd >}} —>
Utilisation du package saperlipopette, 12 exercices pour prendre confiance avec les commandes de Git :
.gitignore :Formation Git / GitLab − Session 1 : initiation à Git
Comment utiliser Git ?