Vous pouvez combiner vos différents référentiels dans un seul référentiel, mais pas avec les sous-modules. Bien que la méthode que je puisse suggérer la dose ait un sérieux inconvénient. Après avoir fusionné vos projets de jouets, ils n'agissent plus comme des projets séparés. Vous ne pouvez pas vous engager pour un seul projet, vous devez les valider tous en même temps. De même, vous ne pouvez pas brancher un seul projet, chaque branche est une branche de tous les projets. Donc, si vous avez utilisé plusieurs branches ou s'il y a des chances que vous souhaitiez brancher un projet individuel dans le futur, alors gardez des dépôts séparés.
Si après tout ce que vous voulez encore fusionner vos différents dépôts, vous pouvez utiliser une partie de l'idée de how to use the subtree merge strategy. Bien que vous n'ayez pas l'intention de conserver les anciens dépôts, vous n'aurez jamais besoin d'utiliser la fusion de sous-arborescence.
Le bit important du document de stratégie de fusion de sous-arbre sont les commandes suivantes, que vous devez courir à partir du nouveau dépôt de conteneurs:
$ git remote add -f Bproject /path/to/B
$ git merge -s ours --no-commit Bproject/master
$ git read-tree --prefix=dir-B/ -u Bproject/master
$ git commit -m "Merge B project as our subdirectory"
Puisque vous allez supprimer le référentiel d'origine, vous pouvez également supprimer le À distance, vous avez ajouté au début pour ne pas encombrer les choses.
$ git remote rm Bproject
À ce stade, votre référentiel de conteneur contient le projet Bproject. Vous pouvez répéter ces étapes pour fusionner dans des projets supplémentaires. Cependant, comme je l'ai déjà mentionné, seule la branche maîtresse a été fusionnée, toutes les autres branches de vos projets ne seront pas fusionnées.