TD1 - Premiers pas

Exercice 0

Pour voir si vous avez un peu suivi ce matin.

a

Git est

b

J'ai une fonctionnalité que je souhaite retirer de mon projet, mais j'aimerais garder une trace du code parce que j'en suis fièr·e. Je

c

Pour retrouver la version d'un projet d'il y a deux semaines, je

d

Quels sont les noms des trois espaces de travail de git ?

e

Existe-t-il d'autres systèmes de gestion de version que git ?

Exercice 1

Relier les notions à leurs définitions:

  • Staging Area
  • Working Directory
  • Commit
  • Repository
  • HEAD
  • Clone
  • Récupérer sur son ordinateur un dépôt distant
  • État du dernier commit
  • État actuel du dossier sur l'ordinateur
  • Commit actuel
  • Validation des modifications actuelles
  • Zone tampon pour préparer le prochain commit

Exercice 2

Relier les commandes à leurs effet

  • add
  • clone
  • commit
  • log
  • status
  • switch -d
  • Affiche l'état actuel des trois espaces
  • Ajoute un fichier à la staging area
  • Affiche l'historique des commits
  • Déplace la HEAD à un commit spécifié
  • Télécharge un dépôt distant
  • Valide et sauvegarde l'état actuel de la staging area

Exercice 3

a

Les commandes ls et git status donnent les résultats suivants. Déduisez en les états des trois espaces.


uro@nabu:/tmp/R210$ ls
main.c  README.md

uro@nabu:/tmp/R210$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	README.md

nothing added to commit but untracked files present (use "git add" to track)
Working DirectoryStaging AreaRepository

b

Quelle commande permettrait de passer à l'état suviant.

Working DirectoryStaging AreaRepository
main.cmain.c
README.mdREADME.md

c

On veut maintenant valider l'ajout du fichier README.md. Quelle est la commande à effectuer ?

Exercice 4

Adora, Bow et Catra travaillent ensemble pour un exposé sur le rat-taupe nu. Iels ont décidé d'utiliser git pour garder une trace de l'évolution, pouvoir revenir en arrière, et se partager les modifications facilement.

a

Quelle commande donne le résultat suivant ?

commit c470fe3401d969e1334fb90351cf4abbacf4dc0a
Author: Bow <bow@rebelmail.etheria>
Date:   Wed Mar 18 18:54:00 2026 +0100

    Modifications mineures pour améliorer la lecture

commit b5bc18a0f07ab3dda9da03d46994308a0b75a629
Author: Bow <bow@rebelmail.etheria>
Date:   Wed Mar 18 18:52:13 2026 +0100

    Ajout readme

commit 8c3bd71bcda8477fa93b22e4170a22702618a20b
Author: Catra <catra@hordemail.etheria>
Date:   Wed Mar 18 18:46:48 2026 +0100

    Retrait ligne pas intéressante

commit 3f3d44d0e94e9ba47f8aa7d2663755dc715b3c06
Author: Catra <catra@hordemail.etheria>
Date:   Wed Mar 18 18:24:41 2026 +0100

    Ajout fiction

commit fcf7df2e5ebba7483e7cd0d8ee9379bbf5740770
Author: Catra <catra@hordemail.etheria>
Date:   Wed Mar 18 17:56:46 2026 +0100

    Ajout systématique

commit 72cb81664a1c117f66a8125c5fcdf2729247daa6
Author: Catra <catra@hordemail.etheria>
Date:   Wed Mar 18 17:38:23 2026 +0100

    Ajout alimentaire

commit e0042be7dc2e7df85954b67389c755ba2302f593
Author: Catra <catra@hordemail.etheria>
Date:   Wed Mar 18 17:27:40 2026 +0100

    Ajout reproduction

commit aebd48479b6cf4f837472f609d852cf283731e84
Author: Bow <bow@rebelmail.etheria>
Date:   Wed Mar 18 18:17:37 2026 +0100

    Ajout privation d'oxygène

commit 5ea29cbdb2a185ebcc20861cf5b6cb04851c37a3
Author: Bow <bow@rebelmail.etheria>
Date:   Wed Mar 18 17:53:46 2026 +0100

    Ajout insensibilité

commit f22bb7df2978741634b2e8f1f3238f319083724b
Author: Bow <bow@rebelmail.etheria>
Date:   Wed Mar 18 17:31:23 2026 +0100

    Ajout longévité

commit 6ec4ad525d062a0f0caed3fd39fe277eaa6de89f
Author: Bow <bow@rebelmail.etheria>
Date:   Wed Mar 18 17:12:42 2026 +0100

    Ajout mode de vie

commit 72742ece673a67afdf6ad0e3b0c876c266fa2558
Author: Adora <adora@hordemail.etheria>
Date:   Wed Mar 18 17:46:02 2026 +0100

    Ajout Description

commit 6906d8398db48344a2db196514158c12ff02339e
Author: Adora <adora@hordemail.etheria>
Date:   Wed Mar 18 17:19:37 2026 +0100

    Ajout introduction

commit 031b51d037506e8fc0cbb919e9c6682f7921bc03
Author: Adora <adora@hordemail.etheria>
Date:   Wed Mar 18 17:04:25 2026 +0100

    Ajout du plan

b

Qui a ajouté les informations sur le mode de vie du rat-taupe ?

c

Catra se souvient qu'elle aimait bien la mise en page juste après avoir ajouté les informations que la reproduction. Malheureusement, Bow et Adora ont modifié beaucoup de choses, et Catra aimerait voir l'état qui lui plaisait pour s'en inspirer. Quelle commande Catra peut-elle utiliser pour revenir à cet état ?

d

git show 72742ec donne le résultat suivant.

commit 72742ece673a67afdf6ad0e3b0c876c266fa2558
Author: Adora <adora@hordemail.etheria>
Date:   Wed Mar 18 17:46:02 2026 +0100

    Ajout Description

diff --git a/Rapport.md b/Rapport.md
index 774242c..001f6c8 100644
--- a/Rapport.md
+++ b/Rapport.md
@@ -4,6 +4,14 @@ L'Hétérocéphale (Heterocephalus glaber), aussi appelé Rat-taupe nu ou Rat-ta

 ## Description

+Le rat-taupe mesure de 8 à 33 cm de long auxquels s'ajoute une queue pouvant aller jusqu'à 8 cm. Sa masse peut varier de 28 g à 1,5 kg.
+
+Les rats-taupes nus ont une tête aux muscles de la mâchoire particulièrement développés, avec de grandes incisives proéminentes qu'ils utilisent pour forer leurs galeries. Une très grande partie de leur cerveau est d'ailleurs dévolue au contrôle et à la sensibilité de la bouche. Leurs yeux sont pratiquement atrophiés et leurs oreilles minuscules se limitent à une petite ouverture qu'ils peuvent obturer pour éviter que la terre y pénètre.
+
+Ils sont pratiquement glabres, à la peau rosée et translucide, à l'exception de la tête et de la queue qui possèdent des vibrisses (longs poils sensitifs) et des pattes qui portent des poils entre les orteils, ce qui leur confère un aspect esthétique assez impressionnant en comparaison avec d'autres espèces de rongeurs.
+
+Adaptés à leur mode de vie souterrain, leurs capacités visuelles sont atrophiées mais leur odorat et leur ouïe sont bien développés. Ils sont aussi particulièrement sensibles aux vibrations du sol et aux courants d'air.
+
 ## Mode de vie

 ## Particularités remarquables

Quel fichier a été modifié dans ce commit ? Par qui et à quelle date ? Pourquoi cette modification a-t-elle été effecutée ?

e

Adora se réveille et voit que Catra et Bow ont avancé sur le rapport. Elle aimerait voir rapidement ce qui a changé depuis la dernière fois qu'elle a travaillé dessus. Quelle commande peut afficher ces informations ?

f

Le rapport est presque fini, mais Bow se rend compte qu'il y a une typo sur un mot. Quelles sont les étapes pour corriger cette typo et faire en sorte que la dernière version prenne en compte cette modification ?

Exercice 5

Parlons de bonnes pratiques !

(Plusieurs réponses possibles à chaque fois)

a

Un message de commit doit plutôt être

b

J'ai plusieurs bugs à corriger dans ces fichiers différents, ces bugs n'ont rien à voir entre eux.

c

Que veut dire le mot « atomique » ?

Pensez-vous qu'un commit devrait être atomique ?