Aqui está parte do conteúdo do meu .gitmodulesarquivo:
[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
No entanto, .git/configcontém apenas o primeiro:
[submodule "src/static_management"]
url = git://github.com/eykd/django-static-management.git
O segundo submódulo ( external/pyfacebook) foi adicionado por outro desenvolvedor em um branch de recurso. Eu herdei o desenvolvimento agora e verifiquei o branch de recursos. No entanto, o Git não puxará o submódulo para mim. Eu tentei:
git submodule initgit submodule updategit submodule update --initgit submodule sync- Removendo todas as definições de submódulo
.git/confige em execuçãogit submodule init. Ele apenas copia o submódulo existente anteriormente e ignora o novo. - Inserindo novas definições de submódulo
.git/configmanualmente e em execuçãogit submodule update. Apenas os submódulos existentes anteriormente se preocupam em atualizar.
em várias combinações, mas o git simplesmente não atualizará com .git/configbase no novo conteúdo de .gitmodules, nem criará a external/pyfacebookpasta e extrairá o conteúdo do submódulo.
o que estou perdendo? A intervenção manual (adicionar uma entrada de submódulo manualmente .git/config) é realmente necessária e por quê?
Editar: a intervenção manual não funciona. Adicionar manualmente a nova entrada de submódulo .git/confignão faz nada. O novo submódulo é ignorado.