2010-11-24 5 views
2

Je me demande quelle est la meilleure façon d'organiser le dépôt git. Je construis un service web que j'appellerai Core, et une application iPhone qui communique avec le noyau.Meilleure façon de gérer le dépôt git

Je veux stocker mes dépôts sur github, quelle est la meilleure façon d'organiser cela?

Dois-je créer deux référentiels:

- projectname-core 
- projectname-iphone 

Ou devrais-je avoir qu'un seul répertoire avec 2 branches différentes et Core iPhone?

A bientôt

Répondre

4

Cela dépend beaucoup de la façon dont les projets sont étroitement liés. Si l'application iPhone est à peine liée au code dans le noyau, et que les changements dans le noyau n'affecteront pas beaucoup l'application iPhone, utilisez deux référentiels distincts. La règle générale est que git ne doit pas être utilisé pour gérer des fichiers non liés dans le même référentiel.

+0

Je vote séparément repos. – erjiang

+1

Je vote contre les 2 repos en les reliant sera complexe via des sous-modules ou sous-arbre - pourtant vous avez besoin de la version qui fonctionne avec quelle version. C'est très vrai au début quand il y a plus de flux dans les deux projets. Avec git, vous pouvez refactoriser plus tard, ce qui facilite le démarrage. –

2

Vous devriez avoir un référentiel avec 2 répertoires. Cela permettra de garder les changements à la fois synchronisés les uns avec les autres. Si vous en avez besoin, vous pouvez le diviser plus tard en deux dépôts avec le core en sous-module de l'autre en utilisant `filter-branch '.

+2

C'est une idée terrible. S'ils ne partagent pas le code, ils n'ont pas besoin d'être ensemble. Dépôts bon marché (ressources judicieuses) – Abizern

+1

Il ne s'agit pas d'un argument pour savoir si les repos git sont coûteux en termes de ressources - veuillez ne pas introduire un argument de paille-homme falacy. Ils dépendent les uns des autres en termes de ce qui fonctionne avec quelle version. Ne pas les relier est une idée horrible. Les relier entre des repos séparés et des sous-modules n'est pas trivial. C'est un point de départ pratique où les deux projets sont beaucoup de flux. –

+0

Homme de paille? Je ne crois pas que j'en ai soulevé un à démolir. Garder deux bases de code dans un référentiel qui ne partagent pas le code commun est une mauvaise idée. L'historique des changements sera un mélange d'engagements de chaque projet. L'utilisation de deux repos séparés avec un sous-module de code commun (le cas échéant) peut ne pas être triviale, mais c'est facile. Et, si vous pensez que vous pourriez vouloir séparer le code à l'avenir, c'est mieux. À mon humble avis d'utiliser deux repos dès le départ. – Abizern

2
  • soit 2 répertoires dans un projet (si votre projet est petite sorcière est souvent le cas avec les applications iPhone)
  • ou sous-module auquel cas vous aurez 3 dépôts: core et iphone avec un master (ou un autre nom) sorcière garder la synchronisation entre les 2 sous-modules (git submodule tutorial)
1

Les branches sont normalement utilisées pour créer une branche du projet, et non pour créer des sous-projets.

Si votre serveur et votre iPhone ont une base de code complètement différente, ce qui est probablement le cas, créez deux référentiels. Pour lier le client iphone à une version spécifique de core, utilisez les sous-modules git pour référencer le core. La référence est utile pour les tests.

Questions connexes