Dosyamın içeriğinin bir kısmı .gitmodules:
[submodule "src/static_management"]
path = src/static_management
url = git://github.com/eykd/django-static-management.git
[submodule "external/pyfacebook"]
path = external/pyfacebook
url = http://github.com/sciyoshi/pyfacebook.git
Ancak, .git/configyalnızca ilkini içerir:
[submodule "src/static_management"]
url = git://github.com/eykd/django-static-management.git
İkinci alt modül ( external/pyfacebook), bir özellik dalında başka bir geliştirici tarafından eklenmiştir. Şimdi geliştirmeyi devraldım ve özellik dalını kontrol ettim. Ancak Git alt modülü benim için çekmeyecek. Denedim:
git submodule initgit submodule updategit submodule update --initgit submodule sync- Tüm alt modül tanımlarının kaldırılması
.git/configve çalıştırılmasıgit submodule init. Yalnızca daha önce var olan alt modülün üzerine kopyalar ve yenisini yok sayar. - Yeni alt modül tanımlarının
.git/configmanuel olarak girilmesi ve çalıştırılmasıgit submodule update. Yalnızca önceden var olan alt modüller güncelleme zahmetine katılır.
çeşitli kombinasyonlarda, ancak git .git/configyeni içeriğine göre güncellenmeyecek .gitmodules, external/pyfacebookklasörü oluşturmayacak ve alt modülün içeriğini çekmeyecektir.
Neyi kaçırıyorum? Manuel müdahale (el ile bir alt modül girişi eklemek .git/config) gerçekten gerekli midir ve neden?
Düzenleme: Manuel müdahale çalışmıyor. Yeni alt modül girişini manuel olarak eklemek .git/configbir şey yapmaz. Yeni alt modül yok sayılır.