Git/Structure interne

Un livre de Wikilivres.
< Git
Aller à : navigation, rechercher


Structure de Git brute[modifier | modifier le wikitexte]

Le schéma suivant représente un dépôt Git v1.5.2.5[1].

.
└── .git/
    ├── HEAD
    ├── branches/
    ├── config
    ├── description
    ├── hooks/
    │   ├── applypatch-ms
    │   ├── commit-msg
    │   ├── post-commit
    │   ├── post-receive
    │   ├── post-update
    │   ├── pre-applypatc
    │   ├── pre-commit
    │   ├── pre-rebase
    │   └── update
    ├── info/
    │   └── exclude
    ├── objects/
    │   ├── info/
    │   └── pack/
    └── refs/
        ├── heads/
        └── tags/

Fichiers[modifier | modifier le wikitexte]

HEAD[modifier | modifier le wikitexte]

HEAD indique le code actuellement vérifié. Généralement le point de la branche sur lequel on travaille.

Il est possible d'ajouter un état "HEAD détaché", en dehors de la branche locale. Dans ce cas la tête pointe sur une soumission et non sur une branche.

config[modifier | modifier le wikitexte]

Le fichier de configuration pour ce dépôt Git. Il peut contenir les paramètres permettant de gérer et stocker les données dans le dépôt local, les distants connus, et les informations sur les utilisateurs (local et autres).

description[modifier | modifier le wikitexte]

Utilisé par les outils du navigateur de dépôt, contient une description du projet, généralement inchangée dans les dépôts non partagés.

Dossiers[modifier | modifier le wikitexte]

Branches[modifier | modifier le wikitexte]

hooks[modifier | modifier le wikitexte]

Contient les scripts à lancer quand des évènements particuliers surviennent dans le dépôt Git.

Ces points d'entrée sont utilisé par exemple pour lancer des tests avant chaque soumission, filtrer le contenu uploadé, et implémenté ce genre de personnalisations.

info[modifier | modifier le wikitexte]

objects[modifier | modifier le wikitexte]

Stocke les listes de répertoires, fichiers et soumission.

Il y a les objets non compressés des nombreux répertoires, et les "packs" d'objets compressés. Les premiers sont régulièrement collectés via git gc.

refs[modifier | modifier le wikitexte]

Contient les informations où les branches pointent. Inclut normalement des répertoires "heads" pour les branches locales, et "remotes" pour les copies des branches distantes. Toutes les branches ne figurent pas dans ces répertoires. Celles qui n'ont pas changé récemment sont listées dans le fichier .git/packed-refs.

Références[modifier | modifier le wikitexte]

  1. Généré avec la commande tree v1.5.1.1 : tree -AnaF.