Git Aggiornamento di un submodulo

Esempio

Un sottomodulo fa riferimento a un commit specifico in un altro repository. Per verificare lo stato esatto cui si fa riferimento per tutti i sottomoduli, esegui

git submodule update --recursive

A volte invece di utilizzare lo stato a cui si fa riferimento si desidera aggiornare il checkout locale allo stato più recente di quel sottomodulo su un telecomando. Per controllare tutti i sottomoduli allo stato più recente sul telecomando con un singolo comando, puoi usare

git submodule foreach git pull <remote> <branch>

o usa gli argomenti git pull predefiniti

git submodule foreach git pull

Nota che questo aggiornerà solo la tua copia di lavoro locale. L'esecuzione dello git status elencherà la directory del sottomodulo come sporca se modificata a causa di questo comando. Per aggiornare il repository in modo che faccia riferimento al nuovo stato, è necessario eseguire il commit delle modifiche:

git add <submodule_directory>
git commit

Potrebbero esserci alcune modifiche che possono avere unire conflitti se si utilizza git pull modo da poter utilizzare git pull --rebase per riavvolgere le modifiche in alto, il più delle volte diminuisce le probabilità di conflitto. Inoltre tira tutti i rami al locale.

git submodule foreach git pull --rebase

Per controllare lo stato più recente di un sottomodulo specifico, puoi utilizzare:

git submodule update --remote <submodule_directory>