我知道当您将子模块添加到 git 存储库时,它会跟踪其 sha1 引用的该子模块的特定提交。
我正在尝试查找此 sha1 值的存储位置。
.gitmodules和文件仅显示子模块的.git/config路径,但不显示提交的 sha1。
.gitmodules
.git/config
git-submodule(1)参考只提到了一个gitlink条目,而gitmodules (5)参考也没有说明这一点。
gitlink
它直接存储在 Git 的对象数据库中。子模块所在目录的树对象将有一个子模块提交的条目(这就是所谓的“gitlink”)。
尝试这样做git ls-tree master <path-to-directory-containing-submodule>(或者只是git ls-tree master如果子模块位于顶级目录中)。
git ls-tree master <path-to-directory-containing-submodule>
git ls-tree master