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

Abi*_*ern 122 git sha git-submodules

我知道当你将一个子模块添加到git存储库时,它会跟踪由其sha1引用的该子模块的特定提交.

我试图找到存储此sha1值的位置.

.gitmodules.git/config文件只显示了子模块的路径,但不是的提交SHA1.

混帐子模块(1)参考只讲一个的gitlink条目和gitmodules(5)参考不说这事,无论是.

Dan*_*ing 148

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

尝试做git ls-tree master <path-to-directory-containing-submodule>(或者只是git ls-tree master子模块位于顶级目录中).

  • 是的.我看到它现在在哪里.它匹配来自`git submodule status`的id.谢谢. (13认同)
  • 在合并期间它们存储在哪里并且子模块是冲突的? (6认同)
  • 有没有一种方法可以更改此提交ID以指向其他对象,而无需更新工作树? (2认同)