GIT - 7 Repository et dossier git
Dans cette vidéo, je vous montre les rouages internes d'un repository Git. Commençons par exécuter ls -a dans notre dossier de projet : nous sommes dans le repository test, qui contient le fichier coucou.html précédemment commité. Le détail intéressant, c'est que ce dossier projet/test est le working directory ; tandis que le repository lui-même est entièrement contenu dans un dossier caché nommé .git.
Plonger dans le dossier .git
Changeons de répertoire pour entrer dans .git et observer son contenu :
cd .git
ls
L'invite de commande indique que nous sommes désormais dans le répertoire interne géré par Git. Il contient plusieurs fichiers et sous-dossiers (HEAD, config, objects/, refs/…) utilisés et gérés exclusivement par Git. Recommandation forte : restez en dehors de ce dossier, à moins de savoir exactement ce que vous faites. Toute modification manuelle peut corrompre votre historique.
Démonstration : supprimer .git détruit le repository
Pour prouver que le repository est entièrement contenu dans .git, revenons au dossier de travail avec cd .. et supprimons complètement le dossier .git :
cd ..
rm -rf .git
- L'indicateur
(master)disparaît de l'invite de commande : il n'y a plus de repository. - Un
ls -ane montre plus quecoucou.html; le dossier.gita disparu. - Toute commande Git, comme
git status, répond désormais : « pas un repository Git ».
Les fichiers de votre projet (le code, les assets, etc.) restent intacts sur le disque — mais tout l'historique versionné est perdu. C'est la preuve concrète que le repository Git, c'est le dossier .git et rien d'autre.
En résumé
Cette leçon explique l'architecture interne d'un dépôt Git en mettant l'accent sur le dossier `.git`. Celui-ci contient tous les fichiers et métadonnées que Git gère automatiquement pour tracker l'historique du projet. La leçon montre comment naviguer dans le dossier `.git`, comprendre sa structure, et souligne l'importance de ne pas le modifier manuellement. Elle démontre aussi que sans ce dossier, le répertoire n'est plus reconnu comme un dépôt Git.
Points clés
- Le dossier `.git` contient l'intégralité du dépôt et de l'historique Git, séparé du répertoire de travail
- Le dossier `.git` est géré exclusivement par Git et ne doit pas être modifié manuellement sans connaître les risques
- La commande `cd .git` permet d'explorer la structure interne, tandis que `cd ..` ramène au répertoire de travail
- Supprimer le dossier `.git` avec `rm -rf .git` supprime complètement le dépôt et rend le répertoire de travail un dossier ordinaire
- Git ne reconnaît plus un répertoire comme dépôt une fois le dossier `.git` supprimé
- Le dossier `.git` peut être affiché avec `ls -a` (l'option `-a` pour montrer les fichiers cachés)
Questions fréquentes
Quel est le rôle du dossier `.git` dans un dépôt ?
Le dossier `.git` contient tous les fichiers internes que Git utilise pour gérer le versioning : l'historique des commits, les branches, les références, et les métadonnées du projet. Il est entièrement séparé du répertoire de travail visible.
Pourquoi ne faut-il pas modifier manuellement le dossier `.git` ?
Le dossier `.git` est géré exclusivement par Git. Toute modification manuelle peut corrompre le dépôt ou l'historique. Seules les commandes Git garantissent des opérations sûres et cohérentes.
Que se passe-t-il si je supprime le dossier `.git` ?
La suppression du dossier `.git` supprime définitivement le dépôt et son historique. Le répertoire devient un dossier ordinaire que Git ne reconnaît plus comme dépôt.