Pour comprendre la manière dont GIT gère les branches, il faut s’intéresser de plus prêt à son système de stockage de données. L’outil GIT ne stocke pas ces données comme une série de modifications ou de différences successives. Mais plutôt comme une série d’instantanées (appelé Snapshots). Lorsque vous faites un Commit, GIT le stocke comme un objet commit qui contient un pointeur vers l’instantanée (Snapshots) du contenu que vous avez indexé. Cet objet contient également des propriétés (les noms et prénoms de l’auteur, le message que vous avez renseigne ainsi que des pointeurs vers le ou les commit qui précède directement ce nouveau commit.
N.B : Aucun parent pour le commit initial, un parent pour un commit normal et de multiples parents pour un commit qui résulte de la fusion d’une ou de plusieurs branches.
La commande permettant d’initialiser un commit sur GIT est : $GIT COMMIT –
m’message’ ; Lorsque vous créez le commit en lançant la commande « GIT COMMIT », GIT se charge de calculer l’emprunt de chaque sous répertoire et stocke ces objets de type arbre dans le dépôt GIT. Il est alors créer un objet commit qui contient les métadonnées et un pointeur vers l’arbre de la racine du projet. Ceci de manière à pouvoir recréer l’instantanée a tout moment. Votre dépôt GIT contient actuellement 05 objets : - Un BLOB pour le contenu de chacun de vos 03 fichiers. - Un arbre (TREE) qui liste le contenu du répertoire et spécifie quel nom de fichier sont attachés à quel BLOB - Un objet COMMIT portant le pointeur vers l’arbre de la racine ainsi que toutes les métadonnées attachées au COMMIT.