Pobierz podmoduły git po sklonowaniu projektu z GitHub

90

Mam projekt, w którym określono podmoduły. Wszystko działa dobrze na maszynie deweloperskiej. Zatwierdziłem .gitmodulesplik i uruchomiłem produkcję. Jednak nie wyciąga podmodułów.

Jeśli wejdę do katalogów podmodułów i zadzwonię git pull, nic się nie dzieje.

Jaki jest właściwy sposób pobierania tych podmodułów w nowym projekcie?

hsz
źródło

Odpowiedzi:

140

Z katalogu głównego repozytorium po prostu uruchom:

git submodule update --init
Matt Cooper
źródło
8
Wierzę, że to faktycznie zaktualizuje twoje zależności. Myślę, że S. Russel miał właściwą komendę w swoim komentarzu poniżej:git pull --recurse-submodules
Spencer
37

Jeśli chcesz pobrać dane dla modułów podrzędnych do repozytoriów modułów podrzędnych, użyj

git pull --recurse-submodules

Ale to nie spowoduje pobrania poprawnych zatwierdzeń (tych, na które wskazuje repozytorium główne) w modułach podrzędnych

Aby sprawdzić poprawne zatwierdzenia w swoich podmodułach, należy je zaktualizować po wyciągnięciu za pomocą

git submodule update --recursive
S. Rasel
źródło
1
git submodule update --recursivejest tym, czego potrzebowałem po pierwszym uruchomieniu, git cloneale zapomniałem --recursiveo tym za pierwszym razem. Dzięki!
mbb
7
To chyba nie działa dla mnie. Podmoduły pozostają puste.
CodeMonkey
@CodeMonkey to samo dla mnie.
linkerx
6
może być za późno na imprezę, ale dla każdego wylądowało tutaj: git submodule update --init --recursiverozwiąż mój problem
Iglesk
21

Jeśli istnieją zagnieżdżone moduły podrzędne, będziesz musiał użyć:

git submodule update --init --recursive
Iglesk
źródło