Partie 1 · Comprendre
Snapshots, commits et intégrité
Beaucoup de systèmes stockent des différences (deltas) entre versions. Git fait autrement : à chaque commit il capture un instantané complet (snapshot) de l'état des fichiers. Si un fichier n'a pas changé, Git crée simplement un lien vers la version précédente pour économiser l'espace.
Vérifie que tu as compris
Un commit est fait alors que le fichier
notes.txt n'a pas bougé. Que stocke Git pour ce fichier ?Chaque commit est identifié par un hash unique (SHA-1) qui garantit son intégrité et sa traçabilité. Un commit contient :
- les métadonnées : auteur, date, message ;
- les fichiers modifiés (le snapshot) ;
- un pointeur vers le commit parent.
A <- B <- C chaque commit pointe vers son parent
Toute modification d'un fichier ou de l'historique peut être détectée grâce au hachage : c'est la base de la sécurité et de l'intégrité des données dans Git.
Vérifie que tu as compris
Qu'est-ce qui relie un commit à celui qui le précède dans l'historique ?