Fini les rapport_final_v2_vrai.docx
Git est un outil qui garde l’historique d’un dossier : chaque enregistrement, appelé commit, note ce qui a changé, qui l’a changé et pourquoi. On retrouve ainsi une ancienne version et on travaille à plusieurs sans s’écraser.
Tu as déjà vu un dossier plein de « version finale », « version finale 2 », « version vraiment finale ». Git remplace ce désordre par un seul historique propre.
À la fin de cette leçon
Remarque
Je peux lire l’historique d’un dépôt Git pour savoir qui a changé quoi.
Mots clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Dépôt | un dossier dont Git garde l’historique | |
| Commit | un point de sauvegarde avec un message | Ajoute la liste |
| Historique | la liste de tous les commits, du plus récent au plus ancien | |
| Branche | une ligne de travail à part, pour essayer sans risque | |
| Dépôt distant | une autre copie du dépôt, sur un serveur | origin |
| Cloner | copier un dépôt distant sur son ordinateur | |
| Pousser | envoyer ses commits vers le dépôt distant |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Un commit est un point de sauvegarde
Un commit enregistre l’état du dossier à un instant. Il porte un message qui dit pourquoi, un auteur et une date.
Tu peux revenir à n’importe quel commit. Et chaque ligne de l’historique répond à trois questions : qui, quand et pourquoi.
Exemple : un devoir en groupe
| Question | Sans Git | Avec Git |
|---|---|---|
| Quelle est la dernière version ? | On devine avec le nom du fichier | Le commit du haut de l’historique |
| Qui a changé la conclusion ? | Personne ne sait | L’auteur est écrit dans le commit |
| Revenir à hier ? | Si quelqu’un a gardé une copie | Oui, à tout moment |
| Deux personnes écrivent ensemble ? | L’une écrase l’autre | Git rassemble les deux travaux |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
La commande git log liste les commits
Le lab contient un dépôt d’exemple, hello-git. On le clone dans un dossier à part, exploration, pour le lire sans rien casser. Les commandes partagent le même terminal : le cd reste actif ensuite.
Puis git log affiche l’historique. Avec --oneline, une ligne par commit.
Clone le dépôt d’exemple
git clone http://gitea:3000/student/hello-git.git explorationAffiché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.
Entre dans le dossier cloné
cd explorationAffiché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.
Liste les commits, une ligne chacun
git --no-pager log --onelineAffiché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.
Affiche l’auteur et le message
git --no-pager log --format="%an : %s"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.
Ce que montre l’historique
Il y a deux commits. Chaque ligne du premier Run commence par un code court qui nomme le commit, puis son message.
Le second Run affiche l’auteur : Alan Turing pour « Add a list of visitors », puis Ada Lovelace pour « Start the project with a README ». Les messages sont en anglais, car ce sont ceux du lab. Le plus récent est en haut.
Une branche permet d’essayer sans risque
Une branche est une ligne de travail à part. Tu l’ouvres pour tester une idée. Si elle marche, tu la fusionnes avec la branche principale. Sinon, tu la jettes.
Le dépôt distant sert à partager. On y pousse ses commits et on y tire ceux des autres.
Exemple : les commandes du quotidien
| Commande | Ce qu’elle fait | Quand l’utiliser |
|---|---|---|
| git clone | copie un dépôt distant | au début, une seule fois |
| git add | prépare un fichier pour le commit | après avoir changé un fichier |
| git commit | enregistre un point de sauvegarde | quand une étape marche |
| git push | envoie les commits au dépôt distant | pour partager son travail |
| git pull | rapporte les commits des autres | avant de commencer à travailler |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une erreur fréquente
Attention
Beaucoup pensent que Git et GitHub sont la même chose. Git est l’outil qui garde l’historique. GitHub, GitLab et Gitea sont des serveurs qui hébergent des dépôts Git. Ton lab utilise Gitea.
Pour aller plus loin : qui travaille le plus ?
Dans ton devoir, commits_par_auteur compte les commits de chacun. Écris une fonction auteur_le_plus_actif(lignes) qui renvoie le nom de celui qui en a le plus.
Que doit-elle renvoyer quand deux personnes en ont autant ? Décide, puis écris-le en commentaire.