J'ai un superprojet git qui fait référence à plusieurs sous-modules et j'essaye de verrouiller un flux de travail pour le reste des membres de mon projet.
Pour cette question, disons que mon superprojet est appelé superyet que le sous-module est appelé subby. (Ensuite, c'est une simplification de ce que j'essaie de faire ... Je n'utilise pas réellement les branches pour les versions, mais j'ai pensé que ce serait plus facile de poser une question.)
Ma branche principale de superya la balise v1.0du projet git subbyréférencée en tant que sous-module. La branche de superyappelé one.oneet a changé la référence du sous-module pour pointer vers la balise v1.1de subby.
Je peux travailler dans chacune de ces branches sans accroc, mais si j'essaie de mettre à jour la one.onebranche avec des modifications de la masterbranche, je reçois des conflits et je ne sais pas comment les résoudre.
Fondamentalement, après avoir exécuté un git pull . mastercertain temps dans la subbybranche, il semble que cela crée des sous-modules supplémentaires.
Avant le pull / merge, j'obtiens la réponse souhaitée git submodulede la one.onebranche:
$ git checkout master
$ git submodule
qw3rty...321e subby (v1.0)
$ git checkout one.one
$ git submodule
asdfgh...456d subby (v1.1)
Mais après l'extraction, il ajoute des sous-modules supplémentaires lorsque je lance git submodule:
$ git pull . master
Auto-merged schema
CONFLICT (submodule): Merge conflict in subby - needs qu3rty...321e
Automatic merge failed; fix conflicts and then commit the results.
$ git submodule
qw3rty...321e subby (v1.0)
asdfgh...456d subby (v1.1)
zxcvbn...7890 subby (v1.1~1)
Comment supprimer / ignorer les références de sous-modules indésirables et valider mes conflits et modifications? Ou y a-t-il un paramètre que je peux utiliser avec mon original git pullqui ignorera mes sous-modules?