GitHub: Est-il possible d'avoir un référentiel hors des repositorys?

Je stocke mes projets php sous un count GitHub privé.

Maintenant, par exemple, j'ai différents composants (bundle de news, bundle user, etc.) et un projet qui les utilise tous set (par exemple un site web personnalisé). Puis-je en quelque sorte les relier entre eux?

Ou devrais-je utiliser uniquement des repositorys de composants?

Cordialement

MODIFIER:

Le plus simple est de le faire par exemple pour le projet symfony2. Il y a toujours les composants qui sont également disponibles dans le référentiel parent.

Par exemple: https://github.com/symfony/OptionsResolver

symfony / OptionsResolver-> syfmony / symfony-> symfony / édition-standard

Solutions Collecting From Web of "GitHub: Est-il possible d'avoir un référentiel hors des repositorys?"

La façon dont je gère les dependencies dans les projets Symfony 2 Git est la suivante:

Le projet principal est sous Git. Les dependencies externes (les bundles et tous les éléments du fournisseur) vont dans le file .deps (ou composer.json). Ensuite, soit je lance l' php bin/vendors install composer install pour installer les dependencies.

Les dependencies seront installées en tant que repositorys Git, donc, si je le voulais, je pourrais les cd et les commettre et les pousser si j'avais des droits. Cela facilite l'édition de vos propres bundles, pas besoin de cloner un repo bundle séparé juste pour pouvoir y apporter des modifications.

J'ai aussi cette structure:

 src\Company\SharedBundle src\Company\ProjectBundle 

SharedBundle est simplement spécifié en tant que dépendance et le path d'installation cible est sous src\Company .

J'utilise SharedBundle dans tous mes projets. Si j'ai besoin d'y apporter des modifications, je les fais dans l'un des projets, puis je cd src\Company\SharedBundle , cd src\Company\SharedBundle engage et cd src\Company\SharedBundle , et je tire de tous les projets qui l'utilisent quand j'ai besoin des changements.

Avec deps , vous pouvez faire du ciblage comme:

 [AcmeAwesomeBundle] git=http://github.com/johndoe/Acme/AwesomeBundle.git target=../src/Acme/AwesomeBundle 

Si vous utilisez Composer, vous voulez probablement ceci: http://getcomposer.org/doc/01-basic-usage.md#autoloading

Vous voudrez peut-être jeter un coup d'œil aux sous-modules.

http://git-scm.com/book/fr/Git-Tools-Submodules

Vous pouvez utiliser composer pour gérer les dependencies. Cela ne verrouillera pas les sous-projets à un commit spécifique comme le font les sous-modules. Symfony utilise le compositeur.

Si vous voulez simplement importer tous les files de différents repositorys dans un autre repository, et que vous pouvez les mettre à jour au besoin, je crois que vous pouvez simplement append tous les autres repositorys dans le repository principal en tant que repositorys distants.

De toute évidence, sauvegarder tout avant d'essayer cela, mais je pense que vous voulez simplement utiliser "git remote add [nom arbitraire de l'autre référentiel] [location de l'autre référentiel]", "git fetch [nom arbitraire de l'autre référentiel]" et "get merge [nom arbitraire d'un autre référentiel] / [twig d'un autre référentiel] ". Vous pouvez le faire avec autant de repositorys différents que vous le souhaitez. Par exemple, tous mes repositorys commencent maintenant comme des clones du référentiel pour le framework avec lequel ils sont construits. Peu importe que mes projets n'aient vraiment rien à voir avec le framework, sauf qu'ils servent à l'utiliser comme sharepoint départ.

Donc, vous voulez quelque chose comme ça:

 git remote add news-bundle git://example.com/news-bundle.git git merge news-bundle/master git remote add user-bundle git://example.com/user-bundle.git git merge user-bundle/master 

Ensuite, lorsque vous avez apporté plus de modifications à news-bundle, vous pouvez mettre à jour l'autre référentiel comme ceci:

 git fetch news-bundle git merge news-bundle/master