我知道当你将一个子模块添加到git存储库时,它会跟踪其sha1引用的子模块的特定提交。
我正在尝试找到存储此sha1值的位置。
.gitmodules
和.git/config
文件仅显示子模块的路径,但不显示提交的sha1。
git-submodule(1)引用仅提及gitlink
条目,而gitmodules(5)引用也未对此进行任何说明。
答案 0 :(得分:133)
它直接存储在Git的对象数据库中。子模块所在目录的树对象将具有子模块提交的条目(这就是所谓的“gitlink”)。
如果子模块位于顶级目录中,请尝试执行git ls-tree master <path-to-directory-containing-submodule>
(或仅git ls-tree master
。)