Ich weiß, dass wenn Sie einem Git-Repository ein Submodul hinzufügen, ein bestimmtes Commit dieses Submoduls verfolgt wird, auf das sha1 verweist.
Ich versuche herauszufinden, wo dieser sha1-Wert gespeichert ist.
Die Dateien .gitmodules
und .git/config
zeigen nur die Pfade für das Submodul an, 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.
git
git-submodules
sha
Abizern
quelle
quelle
Antworten:
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 Commit des Submoduls (dies ist der sogenannte "Gitlink").
Versuchen Sie es
git ls-tree master <path-to-directory-containing-submodule>
(oder nur,git ls-tree master
wenn sich das Submodul im Verzeichnis der obersten Ebene befindet).quelle
git submodule status
. Vielen Dank.