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
)。