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


90

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

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

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

Ответы:


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.