Hier ist ein Teil des Inhalts meiner .gitmodulesDatei:
[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
.git/configEnthält jedoch nur das erste:
[submodule "src/static_management"]
url = git://github.com/eykd/django-static-management.git
Das zweite Submodul ( external/pyfacebook) wurde von einem anderen Entwickler in einem Feature-Zweig hinzugefügt. Ich habe die Entwicklung jetzt geerbt und den Feature-Zweig überprüft. Git wird das Submodul jedoch nicht für mich ziehen. Ich habe es versucht:
git submodule initgit submodule updategit submodule update --initgit submodule sync- Entfernen aller Submoduldefinitionen aus
.git/configund Ausführengit submodule init. Es kopiert nur das zuvor vorhandene Submodul und ignoriert das neue. - Neue Submoduldefinitionen
.git/configmanuell eingeben und ausführengit submodule update. Nur die zuvor vorhandenen Submodule müssen aktualisiert werden.
in verschiedenen Kombinationen, aber git wird einfach nicht .git/configbasierend auf dem neuen Inhalt von aktualisiert .gitmodules, noch wird es den external/pyfacebookOrdner erstellen und den Inhalt des Submoduls abrufen.
Was vermisse ich? Ist ein manueller Eingriff (Hinzufügen eines Submoduleintrags von Hand zu .git/config) wirklich erforderlich, und warum?
Bearbeiten: Manueller Eingriff funktioniert nicht. Das manuelle Hinzufügen des neuen Submoduleintrags zu .git/configmacht nichts. Das neue Submodul wird ignoriert.