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?

Odpowiedzi:


140

Z katalogu głównego repozytorium po prostu uruchom:

git submodule update --init

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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.