Puxe submódulos git após clonar o projeto do GitHub


100

Eu tenho um projeto que especificou submódulos nele. Tudo funciona bem na máquina de desenvolvimento. Eu enviei o .gitmodulesarquivo e retirei a produção. No entanto, ele não puxa submódulos.

Se eu entrar em diretórios de submódulos e ligar git pull, nada acontece.

Qual é a maneira adequada de puxar esses submódulos no novo projeto?

Respostas:


155

Na raiz do repo, basta executar:

git submodule update --init

9
Acredito que isso realmente atualizará suas dependências. Acho que S. Russel tinha o comando certo em seu comentário abaixo:git pull --recurse-submodules
Spencer

39

Se você precisa puxar coisas para submódulos em seus repositórios de submódulos, use

git pull --recurse-submodules

Mas isso não fará o checkout dos commits adequados (aqueles para os quais seu repositório mestre aponta) em submódulos

Para verificar os commits adequados em seus submódulos, você deve atualizá-los após puxar usando

git submodule update --recursive

1
git submodule update --recursiveé o que eu precisava depois de começar, git clonemas esqueci de fazê-lo --recursivena primeira tentativa. Obrigado!
mbb

10
Isso não parece funcionar para mim. Os submódulos permanecem vazios.
CodeMonkey

@CodeMonkey o mesmo para mim.
linkerx

6
pode ser tarde demais para a festa, mas para qualquer um acabou aqui: git submodule update --init --recursiveresolva meu problema
Iglesk

26

Se houver submódulos aninhados, você precisará usar:

git submodule update --init --recursive
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.