Вы можете объединить свои различные репозитории в один репозиторий, но не с подмодулями. Хотя метод, который я могу предложить, имеет серьезные недостатки. После объединения ваших игрушечных проектов они больше не действуют как отдельные проекты. Вы не можете сделать коммит только для одного проекта, вы должны зафиксировать их все одновременно. Точно так же вы не можете разветвлять только один из проектов, каждая ветвь является ветвью всех проектов. Таким образом, если вы использовали несколько веток или есть вероятность, что вы захотите разветвить отдельный проект в будущем, используйте отдельные репозитории.
Если после всего этого вы все еще хотите объединить свои различные репозитории, тогда вы можете использовать часть идеи из , как использовать стратегию объединения поддеревьев . Хотя, поскольку вы не планируете хранить старые репозитории, вам никогда не понадобится объединение поддеревьев.
Важным битом из документа стратегии слияния поддеревьев являются следующие команды, которые вы должны запускать из нового хранилища контейнеров:
$ 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"
Поскольку вы собираетесь удалить исходный репозиторий, вы также можете удалить пульт, который вы добавили в начале, чтобы он не загромождал вещи.
$ git remote rm Bproject
На этом этапе ваш контейнерный репозиторий содержит Bproject. Вы можете повторить эти шаги для объединения в дополнительные проекты. Однако, как я упоминал ранее, только основная ветвь была объединена, любые другие ветви, которые могли иметь ваши проекты, не будут объединены.