Вытяните подмодули git после клонирования проекта из GitHub

90

У меня есть проект, в котором указаны подмодули. На dev-машине все работает хорошо. Я создал .gitmodulesфайл и продолжил производство. Однако подмодули не используются.

Если я захожу в каталоги подмодулей и вызываю git pull, ничего не происходит.

Как правильно использовать эти подмодули в новом проекте?

hsz
источник

Ответы:

142

Из корня репо просто запустите:

git submodule update --init
Мэтт Купер
источник
8
Я считаю, что это действительно обновит ваши зависимости. Я думаю, что С. Рассел дал правильную команду в своем комментарии ниже:git pull --recurse-submodules
Спенсер
37

Если вам нужно вытащить материал для подмодулей в репозитории подмодулей, используйте

git pull --recurse-submodules

Но это не будет проверять правильные коммиты (те, на которые указывает ваш главный репозиторий) в подмодулях.

Чтобы проверить правильность коммитов в ваших подмодулях, вы должны обновить их после извлечения с помощью

git submodule update --recursive
С. Расель
источник
1
git submodule update --recursiveэто то, что мне было нужно после первого git cloneраза, но я забыл сделать --recursiveэто с первого раза. Благодарность!
mbb
8
Похоже, у меня это не работает. Подмодули остаются пустыми.
CodeMonkey
@CodeMonkey мне того же.
linkerx
6
Может быть, уже слишком поздно на вечеринку, но для всех, кто оказался здесь: git submodule update --init --recursive
реши
21

Если есть вложенные подмодули, вам нужно будет использовать:

git submodule update --init --recursive
Иглеск
источник