Де Git зберігає SHA1 комітету для підмодуля?


141

Я знаю, що коли ви додаєте підмодуль у сховище git, він відслідковує певну послідовність цього підмодуля, на яку посилається його sha1.

Я намагаюся знайти, де зберігається це значення sha1.

.gitmodulesІ .git/configфайли тільки показати шляхи для субмодуля, але не SHA1 фіксації.

Посилання на git-підмодуль (1) говорить лише про gitlinkзапис, а посилання на gitmodules (5) також нічого про це не говорить.


Відповіді:


167

Він зберігається безпосередньо в об'єктній базі даних Git. Об'єкт дерева для каталогу, де живе підмодуль, матиме запис для фіксації підмодуля (це так звана "gitlink").

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


14
Так. Я бачу, де зараз. І це відповідає ідентифікатору від git submodule status. Дякую.
Абізерн

7
де вони зберігаються під час злиття, і підмодуль суперечить?
Адам Дімітрук

@AdamDymitruk, ти знайшов відповідь?
kgadek

1
Чому б не поставити нове запитання, люди? :-)
Іван Вучиця

3
Чи є спосіб змінити цей ідентифікатор фіксації, щоб вказати на щось інше, не оновлюючи робоче дерево?
CMCDragonkai
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.