atualização de submodule git necessária apenas inicialmente?

Estou pegando um jeito de submódulo git (wishful thinking?) E estou chegando com perguntas mais específicas, o que é um bom sinal …

Eu tentei encontrar a qual revisão do submódulo o superprojeto se refere, em .gitmodules e .gitmodules .git/config , mas nada é mencionado lá …
O cenário é que estou mudando submódulos em seus locais de raiz (de onde são importados) e, em seguida, puxando-os para onde estão “submodulados” …
Além de me comprometer com o superprojeto para incorporar essas mudanças no repo do superprojeto, eu também preciso fazer ” git update ” para registrar as novas concessões submódias?

Basicamente a questão é:

Preciso ” git submodule update ” apenas quando clonei o superprojeto, ou após cada submódulo (de seu próprio repo)?

Obrigado

Como mencionado na minha resposta anterior ao git submodule update , esse comando verifica a versão específica do projeto, com base em seu arquivo .gitmodules .

A página do GitPro insiste :

Este é um ponto importante com submódulos: você os registra como o compromisso exato em que estão.

Você pode ver qual commit é referenciado executando dentro do “superprojeto” (aquele referenciando um ou vários submódulos):

  • git submodule status (exceto se você fez algum commit diretamente dentro desse submódulo, caso fino ele mostrará um ” + ” na frente do SHA-1 do HEAD de qualquer submódulo que tenha avançado do SHA-1 armazenado no superprojeto) ou
  • git ls-files --stage procurando input no modo “160000”, uma input especial no índice do Git.

Isso significa que, cada vez que você executar um comando git no “superprojeto” que poderia modificar esse submódulo confirme SHA1, você precisará de uma ” git submodule update “.

Preciso “git submodule update” apenas quando clonei o superprojeto, ou após cada submódulo (de seu próprio repo)?

Sim, você tem que fazer isso toda vez que você puxar para baixo uma mudança de submódulo no projeto principal.
Isso é porque você está referenciando o commit exato em que o repository original do submódulo está (como dito acima), e quando você puxa aquele repo, você está modificando efetivamente aquele commit.