Где Git хранит SHA1 коммита для подмодуля?

Я знаю, что когда вы добавляете подмодуль в репозиторий git, он отслеживает конкретное коммитирование этого субмодуля, на которое ссылается его sha1.

Я пытаюсь найти, где хранится это значение sha1.

В файлах .gitmodules и .git/config отображаются только пути для подмодуля, но не sha1 коммита.

Ссылка git -submodule (1) говорит только о записи gitlink и gitmodules (5 ) ничего не говорится об этом.

Ответ 1

Он хранится в базе данных объектов Git напрямую. Объект tree для каталога, в котором живет подмодуль, будет иметь запись для фиксации подмодуля (это так называемая "gitlink" ).

Попробуйте выполнить git ls-tree master <path-to-directory-containing-submodule> (или просто git ls-tree master, если подмодуль находится в каталоге верхнего уровня).