Ecco parte del contenuto del mio .gitmodulesfile:
[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
Tuttavia, .git/configcontiene solo il primo:
[submodule "src/static_management"]
url = git://github.com/eykd/django-static-management.git
Il secondo sottomodulo ( external/pyfacebook) è stato aggiunto da un altro sviluppatore in un ramo delle funzionalità. Ho ereditato lo sviluppo ora e ho verificato il ramo delle funzionalità. Tuttavia, Git non estrarrà il sottomodulo per me. Ho provato:
git submodule initgit submodule updategit submodule update --initgit submodule sync- Rimozione di tutte le definizioni del sottomodulo da
.git/confige in esecuzionegit submodule init. Copia solo sul sottomodulo esistente in precedenza e ignora quello nuovo. - Inserimento di nuove definizioni di sottomodulo
.git/configmanualmente e in esecuzionegit submodule update. Solo i sottomoduli esistenti in precedenza si preoccupano di aggiornare.
in varie combinazioni, ma git semplicemente non si aggiornerà in .git/configbase ai nuovi contenuti di .gitmodules, né creerà la external/pyfacebookcartella e tirerà i contenuti del sottomodulo.
Cosa mi sto perdendo? L'intervento manuale (aggiunta di una voce di sottomodulo a mano .git/config) è veramente necessario, e perché?
Modifica: l' intervento manuale non funziona. L'aggiunta manuale della nuova voce del sottomodulo a .git/confignon fa nulla. Il nuovo sottomodulo viene ignorato.