web-dev-qa-db-fra.com

Où Git stocke-t-il le SHA1 du commit pour un sous-module?

Je sais que lorsque vous ajoutez un sous-module à un référentiel git, il suit une validation particulière de ce sous-module référencé par son sha1.

J'essaie de trouver où cette valeur sha1 est stockée.

Les fichiers .gitmodules Et .git/config Montrent uniquement les chemins du sous-module, mais pas le sha1 du commit.

La référence git-submodule (1) ne parle que d'une entrée gitlink et la référence gitmodules (5) ne dit rien à ce sujet non plus.

119
Abizern

Il est stocké directement dans la base de données d'objets de Git. L'objet arborescent du répertoire où réside le sous-module aura une entrée pour la validation du sous-module (c'est ce qu'on appelle le "gitlink").

Essayez de faire git ls-tree master <path-to-directory-containing-submodule> (ou juste git ls-tree master si le sous-module réside dans le répertoire de niveau supérieur).

143
Dan Moulding