Git, bir alt modül taahhüdünün SHA1'ini nerede saklar?


141

Git deposuna bir alt modül eklediğinizde, bu alt modülün sha1 tarafından başvurulan belirli bir taahhüdünü izlediğini biliyorum.

Bu sha1 değerinin nerede depolandığını bulmaya çalışıyorum.

.gitmodulesVe .git/configdosyaları yalnızca alt modülü amacıyla yol, ancak taahhüt sha1 göstermektedir.

Git-alt modülü (1) referans sadece söz gitlinkgiriş ve gitmodules (5) referans ya bu konuda hiçbir şey söylemez.


Yanıtlar:


167

Doğrudan Git'in nesne veritabanında saklanır. Alt modülün yaşadığı dizinin ağaç nesnesinin alt modülün taahhüdü için bir girişi olacaktır (buna "gitlink" denir).

Yapmayı deneyin git ls-tree master <path-to-directory-containing-submodule>(veya git ls-tree masteralt modül en üst düzey dizinde yaşıyorsa).


14
Evet. Şimdi nerede olduğunu görüyorum. Ve gelen kimliğe uyuyor git submodule status. Teşekkürler.
Abizern

7
birleştirme sırasında nerede saklanırlar ve alt modül çakışır?
Adam Dymitruk

@AdamDymitruk, cevabı buldun mu?
kgadek

1
Neden yeni soru sormuyorsunuz millet? :-)
Ivan Vučica

3
Bu taahhüt kimliğini çalışma ağacını güncellemeden başka bir şeye işaret edecek şekilde değiştirmenin bir yolu var mı?
CMCDragonkai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.