Retrouver la version d’hier d’un fichier
Git est un logiciel de gestion de versions : il garde l’historique de tous les changements d’un dossier. Il permet de retrouver la version d’hier d’un fichier et de savoir qui l’a modifié.
Une association d’étudiants tient sa liste de matériel dans un fichier partagé. Un jour, une ligne disparaît et personne ne sait pourquoi. Avec Git, chaque changement est daté, signé et expliqué.
À la fin de cette leçon
Remarque
Je peux enregistrer mes changements sous forme de commits et lire l’historique.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Dépôt | un dossier que Git suit, avec son historique | git init |
| Commit | un enregistrement des changements, avec un message | git commit |
| Index | la liste des changements choisis pour le prochain commit | git add |
| Message | la phrase qui dit pourquoi on a changé le fichier | |
| Historique | la suite des commits, du plus récent au plus ancien | git log |
| Hash | un code unique qui désigne un commit | 2af66d6 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Un commit est une photo du dossier
Un commit enregistre l’état de vos fichiers à un moment précis, avec un message et le nom de l’auteur. Les commits se suivent et forment l’historique.
Git travaille en deux temps. Avec git add, vous choisissez ce qui entrera dans le prochain commit : c’est l’index. Avec git commit, vous enregistrez ce choix.
Exemple travaillé : les trois endroits d’un fichier
| Endroit | Ce qu’il contient | Pour y entrer |
|---|---|---|
| Dossier de travail | Vos fichiers, tels que vous les modifiez | Vous les éditez |
| Index | Les changements choisis pour le prochain commit | git add |
| Dépôt | L’historique des commits | git commit |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Git doit savoir qui vous êtes
Chaque commit note son auteur. Réglez votre nom et votre adresse une seule fois : l’option --global les garde pour tous vos dépôts.
L’adresse sert d’étiquette. Ici, elle peut être inventée. Ensuite, créez un dépôt dans un dossier nommé asso.
Donner votre nom à Git
git config --global user.name "Etudiante Lab"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Donner votre adresse à Git
git config --global user.email "[email protected]"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Créer le dépôt dans le dossier asso
git init -b main assoAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Écrire la liste de matériel
printf 'tables\nchaises\n' > asso/materiel.txtAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Demander à Git ce qu’il voit
git -C asso status --shortAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Choisir le fichier pour le commit
git -C asso add materiel.txtAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Enregistrer le premier commit
git -C asso commit -m "Premier inventaire du materiel"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
La commande git log montre l’historique
git log liste les commits, du plus récent au plus ancien. Chacun montre son hash, son auteur, sa date et son message.
git diff montre ce qui a changé depuis le dernier commit. git status dit où en est chaque fichier. Lisez-les avant chaque commit.
Exemple : la sortie complète de git log
commit 2af66d607429e41a452de347fe68c7f3b8cd0142
Author: Etudiante Lab <[email protected]>
Date: Mon Oct 26 09:12:41 2026 +0100
Ajouter le projecteur
commit 3f05e0e10e8b64cd7b4ebeafb66851ab7bf9e308
Author: Etudiante Lab <[email protected]>
Date: Mon Oct 26 09:05:10 2026 +0100
Premier inventaire du materielAjouter une ligne au fichier
printf 'projecteur\n' >> asso/materiel.txtAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Voir le fichier modifié
git -C asso status --shortAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Enregistrer le deuxième commit
git -C asso commit -am "Ajouter le projecteur"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Lire les messages, récents d’abord
git -C asso --no-pager log --format=%sAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Compter les commits
git -C asso rev-list --count HEADAffichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Une erreur fréquente
Attention
On croit souvent que git commit enregistre tout le dossier tel qu’il est. Ce n’est pas vrai. Un commit ne prend que ce qui est dans l’index. Un nouveau fichier n’y entre qu’après git add. Lancez git status avant de valider.