さまざまなリポジトリを 1 つのリポジトリに結合できますが、サブモジュールを結合することはできません。私が提案できる方法には用量がありますが、深刻な欠点があります. おもちゃのプロジェクトをマージすると、それらは別個のプロジェクトとして機能しなくなります。1 つのプロジェクトだけにコミットすることはできません。同時にすべてのプロジェクトにコミットする必要があります。同様に、プロジェクトの 1 つだけを分岐することはできません。各分岐はすべてのプロジェクトの分岐です。したがって、複数のブランチを使用したことがある場合、または将来個々のプロジェクトをブランチする可能性がある場合は、別々のリポジトリを使用してください。
結局のところ、さまざまなリポジトリをマージしたい場合は、サブツリーマージ戦略の使用方法のアイデアの一部を使用できます。ただし、古いリポジトリを保持する予定がないため、サブツリー マージを使用する必要はありません。
サブツリー マージ戦略ドキュメントの重要な部分は、新しいコンテナー リポジトリから実行する必要がある次のコマンドです。
$ 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 が含まれています。これらの手順を繰り返して、追加のプロジェクトをマージできます。ただし、前に触れたように、マスター ブランチのみがマージされ、プロジェクトに含まれていた可能性のある他のブランチはマージされません。