Séquence 02 · Prise en main
Regarder, choisir, enregistrer
Tout Git tient dans un geste en trois temps. Vous allez le faire une première fois maintenant — et des milliers de fois dans votre carrière.
Le geste en trois temps
Quand vous photographiez l’état de votre étude, vous faites toujours la même chose :
git statusgit addTrois temps, trois commandes : git status pour regarder, git add pour choisir, git commit pour enregistrer. Le reste de cette page ne fait que détailler ce schéma.
Préparons un petit terrain d’entraînement. Ouvrez un terminal (dans RStudio : onglet Terminal ; dans VS Code : menu Terminal), puis créez un dossier d’exercice :
mkdir atelier-git && cd atelier-git
git init
git config user.name "Votre Nom"
git config user.email "vous@exemple.fr"git init transforme ce dossier en dépôt : un dossier ordinaire, plus une mémoire. Vous ne le ferez qu’une fois par projet — et souvent jamais, car le projet viendra de GitLab (séquence 08).
Regarder : git status
Créez deux fichiers dans votre dossier d’exercice, comme si vous démarriez une étude :
echo '# Analyse des salaires 2026' > analyse.R
echo '# Rapport' > rapport.qmd
git statusSur la branche main
Aucun commit
Fichiers non suivis:
analyse.R
rapport.qmd
aucune modification ajoutée à la validation
git status répond à une seule question : « Où en suis-je ? ». Quels fichiers ont changé depuis la dernière photo, lesquels sont nouveaux, lesquels sont déjà sélectionnés pour la prochaine. C’est la commande que vous taperez le plus souvent — elle ne modifie jamais rien, vous pouvez la lancer sans aucun risque, autant de fois que vous voulez.
Choisir : git add
Ici, Git se distingue de tout ce que vous connaissez. Entre « fichier modifié » et « photo prise », il existe une étape intermédiaire : la sélection. Vous désignez, fichier par fichier, ce qui entrera dans la prochaine photo.
git add analyse.R rapport.qmd
git statusSur la branche main
Aucun commit
Modifications qui seront validées :
nouveau fichier : analyse.R
nouveau fichier : rapport.qmd
Pourquoi cette étape ? Parce qu’en fin de journée, vos modifications sont rarement homogènes : une vraie correction dans analyse.R, un brouillon exploratoire dans test_truc.R, un fichier temporaire généré par R. Tout ne mérite pas d’entrer dans la photo. git add vous laisse composer un enregistrement propre.
À vous : que va contenir mon prochain commit ?
Trois fichiers ont été modifiés cet après-midi. Cliquez sur les fichiers pour les sélectionner (git add) ou les désélectionner, et observez ce que contiendrait le commit :
git add . sélectionne tout d’un coup. C’est pratique, mais c’est aussi comme cela qu’un brouillon ou un fichier de données confidentiel se retrouve enregistré par accident. Réflexe à prendre : toujours un git status après le git add, pour relire sa sélection avant de photographier.
Pour aller plus loin — cette « sélection » a un nom : la staging area
La zone de sélection s’appelle officiellement la staging area (ou index). Vous croiserez ces termes dans les messages de Git et les documentations. Inutile de les mémoriser aujourd’hui : retenez le geste — je compose ma prochaine photo. Notez aussi que git add sur un fichier en capture le contenu à cet instant : si vous le modifiez encore après, il faudra refaire git add pour inclure les nouveaux changements.
Enregistrer : git commit
La sélection est prête ? On photographie, en expliquant pourquoi :
git commit -m "Initialise l'étude salaires 2026"[main (commit racine) f3a9d21] Initialise l'étude salaires 2026
2 fichiers modifiés, 2 insertions(+)
create mode 100644 analyse.R
create mode 100644 rapport.qmd
Votre premier commit existe. Il contient l’état des deux fichiers, votre nom, la date, et votre message. Rien ne pourra plus l’effacer par accident.
Un bon message de commit décrit le changement du point de vue de l’étude, pas de la technique : « Passe le seuil de population à 43 ans », « Corrige le taux du tableau 4 », « Ajoute la ventilation par sexe ». Dans trois mois, c’est ce message qui vous sauvera — écrivez-le pour la personne que vous serez alors.
Et git diff, alors ?
git status donne la liste des fichiers modifiés. git diff montre le détail des lignes : ce que vous avez précisément changé, ligne par ligne.
git diff--- a/analyse.R
+++ b/analyse.R
@@ -12,7 +12,7 @@
# Champ : salariés du secteur privé
-seuil_age <- 40
+seuil_age <- 43
pop <- filter(pop, age >= seuil_age)
Lecture : la ligne précédée de - disparaît, celle précédée de + la remplace. Ici, quelqu’un a changé le seuil d’âge de 40 à 43 ans. C’est exactement la réponse à « qu’est-ce qui a changé depuis vendredi ? ».
Pour aller plus loin — git diff ou git diff --staged ?
Une fois qu’un fichier est sélectionné (git add), il sort du champ de git diff. Pour relire ce que contiendra la photo, utilisez git diff --staged :
git diff→ ce que j’ai modifié et pas encore sélectionné ;git diff --staged→ ce qui est sélectionné, prêt à être photographié ;git status→ la vue d’ensemble des deux.
Le trio complet, juste avant un commit important : git status, puis git diff --staged, puis git commit.
À vous, en entier
Faites un tour complet du geste, dans votre dossier d’exercice :
- Je comprends Je vais modifier un fichier, puis le photographier proprement.
- Je regarde Modifiez une ligne d'
analyse.R(par exemple le titre), puis lancezgit statusetgit diff. Retrouvez votre modification. - J'essaie Sélectionnez avec
git add analyse.R, vérifiez avecgit status, puis enregistrez :git commit -m "Précise le titre de l'analyse". - Je vérifie Relancez
git status: Git doit répondre « rien à valider, la copie de travail est propre ». Votre album contient maintenant deux photos.
Vous avez modifié analyse.R et rapport.qmd, puis tapé git add analyse.R et git commit -m "...". Que contient la photo ?
Le commit photographie la sélection, pas le dossier entier. rapport.qmd reste modifié, en attente — git status vous le rappellera.
Pour aller plus loin — mes messages Git sont en anglais ?
Selon l’installation, Git parle français ou anglais : Sur la branche main devient On branch main, rien à valider devient nothing to commit, working tree clean. Les commandes, elles, sont identiques partout. Les exemples de ce site utilisent les messages français ; si votre poste affiche l’anglais, la structure des messages reste exactement la même.