voici la situation à laquelle j'ai fait face. J'ai un repo contenant un sous-module. Dans le référentiel, j'ai créé une nouvelle branche pour effectuer des modifications.
Puis j'ai découvert qu'il me fallait un sous-module mis à jour, j'ai donc tiré le sous-module et continué à travailler. J'ai ensuite fait un commit et fusionné la branche dans la branche principale.
Dans la branche maître, lorsque j'utilise "git submodule update", le sous-module renvoie à une ancienne version, mais pas à la version mise à jour de la branche :(
Je me demande si git fusionne la référence des sous-modules? Quelqu'un peut-il m'aider?
Réponses:
1 pour la réponse № 1Dans votre branche, après avoir tiré le sous-module "xxx
", vous devez revenir dans le dépôt parent (dans le dossier qui contient votre sous-module) et faire un:
git add xxx
git commit -m "Updated submodule"
Cela enregistrera une mise à jour entrée spéciale de l'index mémoriser le nouveau SHA1 pour le sous-module "xxx
".
C’est cette entrée spéciale qui doit être mise à jour lorsque vous fusionnez votre branche en master
.
Si vous oubliez le git add/git commit
pas dans la branche, la fusion retour à master
garderait l'entrée spéciale inchangée, faisant toujours référence à l'ancien SHA1.