2010-11-08 28 views
2

J'essaie d'obtenir une configuration de sous-module correctement dans git et je veux m'assurer que je l'utilise correctement.Essayer de trouver la bonne approche pour utiliser des sous-modules dans git

J'ai référentiel principal appelé MyProject. J'ai un dépôt secondaire qui contient tous nos accès aux données générées par code appelé Data. Je souhaite configurer Data en tant que sous-module de MyProject.

Data modifie rarement à moins qu'il y ait un changement de schéma, ou une petite petite correction de bogue.

Supposons que j'ajoute une nouvelle fonctionnalité à MyProject qui nécessite un changement de schéma. Typiquement je créerais une branche de MyProject appelée NewFeature et j'inscrirais tous mes changements là jusqu'à ce qu'il soit prêt à être fusionné avec le maître. Je souhaite également créer une branche pour Data afin que les modifications de schéma restent séparées de Master jusqu'à ce que mes modifications soient prêtes à être fusionnées.

Quel est le bon flux de travail pour cela ou y en a-t-il un seul?

Merci!

Répondre

2

Les branches d'un sous-module sont complètement séparées des branches du référentiel parent. La création d'une branche de fonctionnalité NewFeature sur votre référentiel parent ne signifie pas que vous devez créer le même dans le sous-module.
Cela signifie uniquement que votre référentiel parent référencera les nouveaux validations de ce sous-module dans la branche NewFeature. Les validations de sous-module peuvent avoir été effectuées dans n'importe quelle branche (uniquement définie dans le sous-module). Cela étant dit, il est probablement préférable de créer également un NewFeature dans le sous-filtre, afin d'établir une sorte de convention de nommage vous permettant de trouver des ensembles de couplages hautement couplés entre votre dépôt parent et votre sous-module.
(en plus, comme illustré dans la question "Git submodules: Specify a branch/tag", un sous-module en soi est toujours en premier dans un mode HEAD détaché)