現在、モジュールA、B、C、D、Eで構成される 1 つの大きなプロジェクトがあります。これらのモジュールはgithubの同じプロジェクト リポジトリ内にありますが、異なるフォルダー (各モジュールは独自のフォルダーにあります) にあります。それが重要な場合、プロジェクトは Maven によって管理されます。
最近、プロジェクトをP1とP2の 2 つの異なるインスタンスに分割することを決定したため、それらは異なるリポジトリに存在します。P1はモジュールA、C、Dを保持し、プロジェクトP2はB、Eを保持する必要があります。
したがって、少なくとも 4 つのオプションがあると考えています。
- プロジェクトをそのままにしておきます。対応する Git モジュールをP1およびP2に追加して、すべてのモジュールが親プロジェクトの適切なフォルダーを指すようにします。これにより、履歴が確実に保存されます (少なくともそう思います)。
- P1のリポジトリを作成し、それにチェックインします。次に、モジュールB、Eをフォルダーclientに移動し、フォルダーclientをモジュールとしてP2リポジトリにインポートします。それが可能かどうかはまったくわかりませんが、履歴も保存する必要があります。
- すべてをP1とP2にチェックインし、モジュールB,EをP1から、モジュールA,C,DをP2から削除します。次に、 P2を git モジュールとしてP1に追加します。これにより履歴が保持されるはずですが、実際には履歴が多すぎます。そのため、モジュールP2には、 P1から分岐の瞬間までのすべてが含まれます。可能であれば、これを回避したいと考えています。
- そして最後に、ゼロから始めて、すべてを新しいプロジェクトとしてチェックするだけです。
個人的には最初のオプションを好みますが、それが可能かどうかはわかりません。たとえば、外部プロジェクトのサブフォルダーの依存関係を追加します。