Где 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
, если подмодуль находится в каталоге верхнего уровня).