Git在哪里存储子模块提交的SHA1?

我知道,当你添加一个子模块到git仓库时,它会跟踪它的sha1引用的子模块的一个特定的提交。

我试图find这个sha1值存储在哪里。

.gitmodules.git/config文件仅显示子模块的path,而不显示提交的sha1。

git-submodule(1)的引用只是提到一个gitlink条目, gitmodules(5)的引用也没有提到这个。

它直接存储在Git的对象数据库中。 子模块所处目录的树对象将具有子模块提交的条目(这就是所谓的“gitlink”)。

尝试做git ls-tree master <path-to-directory-containing-submodule> (或者如果子模块位于顶层目录中,那么只需要git ls-tree master )。