Une des choses que j'aime au sujet de la façon dont je l'ai Subversion est que je puisse avoir un seul référentiel principal avec de multiples projets. Quand je veux travailler sur un projet, je peux découvrez juste que projet. Comme ceci
\main
\ProductA
\ProductB
\Shared
alors
svn checkout http://.../main/ProductA
En tant que nouvel utilisateur de git j'ai envie d'explorer un peu des meilleures pratiques dans le domaine avant de s'engager à un flux de travail spécifique. De ce que j'ai lu jusqu'à présent, git stocke tout dans un seul .git dossier à la racine de l'arborescence du projet. J'ai donc pu faire une de deux choses.
- Définir un projet distinct pour chaque Produit.
- Mettre en place un seul projet d'envergure et stocker les produits dans des sous-dossiers.
Il y a des dépendances entre les produits, de sorte que le seul projet d'envergure semble le plus approprié. Nous allons utiliser un serveur où tous les développeurs peuvent partager leur code. J'ai déjà eu ce travail sur SSH ET HTTP et que la partie que j'aime. Cependant, les dépôts SVN sont déjà plusieurs GO en taille, donc en faisant glisser autour de l'ensemble du référentiel sur chaque machine semble être une mauvaise idée, surtout depuis que nous sommes facturées excessive de la bande passante du réseau.
J'imagine que le projet du noyau Linux référentiels sont aussi grande donc il y a une bonne façon de gérer cela avec Git, mais je n'en ai pas compris encore.
Existe-il des lignes directrices ou des pratiques optimales pour travailler avec de très grandes multi-projet de référentiels?