Quelle est la différence entre courir
git submodule update --remote
contre
cd <submodule directoy>
git pull
En supposant que le sous-module était précédemment configuré pour suivre une branche:
git submodule add -b master [URL to Git repo]
La différence est:
git pull
ne mettra à jour que votre branche de sous-module, mais il peut s'agir de n'importe quelle branche que vous auriez pu vérifier vous-même dans ce référentiel de sous-module.git submodule update --remote
ne mettra à jour que la branche enregistrée dans le .gitmodule
, et par défaut, vous vous retrouverez avec une TÊTE détachée, à moins que --rebase
ou --merge
est spécifié ou la clé submodule.$name.update
est défini sur rebase
, merge
ou none
.Dans les deux cas, vous devez toujours revenir au référentiel parent, ajouter et valider la nouvelle référence de sous-module SHA1.
En effet, dans les deux cas, le SHA1 du sous-module change, ce qui signifie que gitlink (- entrée spéciale dans l'index du référentiel parent, nommé d'après le dossier racine du sous-module) doit être ajouté et validé.