-
Git et sous-projets
Bonjour à tous,
Novice sous Git, je souhaiterais avoir les conseils de personnes plus aguerries :)
Je souhaite démarrer un projet qui va être constitué de plusieurs sous-projets :
- Une webapp en Java
- Une application Android
- Une application Iphone
Sous svn, c'est relativement simple, j'aurais crée des sous-répertoire.
Mais quelle est la meilleure façon de s'organiser sous git ?
-> 3 Repository git différent ?
-> Est-ce qu'il y a la notion de sous-repository ?
-> Après quelques recherches, j'ai vu qu'il était possible de gérer des sous-module, est-ce que c'est une solution ?
Merci d'avance pour vos réponses.
-
Désolé pour le délai, mais si tu as encore besoin...
Je pense que juste créer des sous répertoires suffit très bien pour un seul même dépôt/repository.
Par contre, quand les gens travailleront, ils auront accès à toute l'arborescence (webapp, android, iphone). Si les gens seront vraiment séparés en équipe pour chaque projet alors en effet, il pourrait y'avoir un intérêt à séparer en 3 dépôts.
Une fois que tu as 3 dépôts à cause d'équipes vraiment séparée, tu peux créer un 4ème regroupant les 3 autres dépôts avec les submodules. Ce qui te permet de tracker/tagger des releases simultanées des 3 dépôts.
J'imagine que Android et iPhone vont attaquer des webservices/REST de la webapp. Donc, j'imagine que les interfaces des webservices doivent être correctement implémenté dans les applis mobiles. Il faut donc bien savoir quand est ce que la release-X.Y.Z valide le fait que la webapp expose tel ou tel webservice et que les applis mobiles utilise cette bonne version de ces webservices.
Comme dit, git n'est qu'un outil et va s'adapter a vos besoins, workflow, organisation. Evidemment des workflows sont + ou - meilleurs suivant des cas.
D'apres moi, une seule equipe qui bosse sur les 3 applications a la fois => 1 seul dépôt.
Une équipe par projet => 1 dépôt par projet (+ éventuellement un dépôt regroupant les 3 autres en submodules pour tracker des releases synchronisant les implémentations des webservices par les mobiles)