Dovrai aggiornare manualmente il sottomodulo.
La ragione di ciò è che, internamente, Git memorizza il commit specifico del sottomodulo. Puoi vedere questo esaminando un commit usando cat-file
:
> git log
commit a087a65925c16f142f402ef1afe633062ad8fb2c
Author: J Doe <[email protected]>
Date: Wed Dec 7 07:10:05 2016 -0500
add submodule
commit 2ecbda2119ca9771a0a2ad0a8bf567aa5ce22950
Author: J Doe <[email protected]>
Date: Wed Dec 7 07:09:58 2016 -0500
initial commit
> git cat-file -p a087a65925c16f142f402ef1afe633062ad8fb2c
tree f34a4a6d49ff5da8042f39a9d59f6c7d6ee8e3ff
parent 2ecbda2119ca9771a0a2ad0a8bf567aa5ce22950
author J Doe <[email protected]> 1481112605 -0500
committer J Doe <[email protected]> 1481112605 -0500
add submodule
> git cat-file -p f34a4a6d49ff5da8042f39a9d59f6c7d6ee8e3ff
100644 blob 067a7e62bbe3b1f119c5e12ffb52a8896102923f .gitmodules
160000 commit 8e7395f127fa8bd5d1370c69e7ebfd20afd6b45f 15774-a
100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 bar
C'è anche il file .gitmodules
, che identifica i vari sottomoduli ma non dice nulla sul loro stato attuale:
[submodule "15774-a"]
path = 15774-a
url = file:///tmp/15774-a
Questo comportamento ha perfettamente senso se si pensa ai sottomoduli come uno strumento per includere una versione specifica di una dipendenza nell'albero dei sorgenti. Tuttavia, un gestore di pacchetti (Maven, npn, Nuget, qualunque sia) è generalmente un approccio migliore.
Puoi caricare gli aggiornamenti sul sottomodulo con git submodule update
Vedi anche: link