it-swarm.com.de

Wo speichert Git den SHA1 des Commits für ein Submodul?

Ich weiß, dass beim Hinzufügen eines Submoduls zu einem Git-Repository ein bestimmtes Commit des Submoduls verfolgt wird, auf das durch sha1 verwiesen wird.

Ich versuche herauszufinden, wo dieser sha1-Wert gespeichert ist.

Das .gitmodules und .git/config Dateien zeigen nur die Pfade für das Submodul, nicht jedoch die sha1 des Commits.

Die Referenz git-submodule (1) spricht nur von einem gitlink -Eintrag und die Referenz gitmodules (5) sagt auch nichts darüber aus.

119
Abizern

Es wird direkt in der Objektdatenbank von Git gespeichert. Das Baumobjekt für das Verzeichnis, in dem sich das Submodul befindet, enthält einen Eintrag für das Festschreiben des Submoduls (dies ist der sogenannte "gitlink").

Versuchen Sie es mit git ls-tree master <path-to-directory-containing-submodule> (oder nur git ls-tree master wenn sich das Submodul im übergeordneten Verzeichnis befindet).

143
Dan Moulding