3

現在、モジュールA、B、C、D、Eで構成される 1 つの大きなプロジェクトがあります。これらのモジュールはgithubの同じプロジェクト リポジトリ内にありますが、異なるフォルダー (各モジュールは独自のフォルダーにあります) にあります。それが重要な場合、プロジェクトは Maven によって管理されます。

最近、プロジェクトをP1P2の 2 つの異なるインスタンスに分割することを決定したため、それらは異なるリポジトリに存在します。P1はモジュールA、C、Dを保持し、プロジェクトP2はB、Eを保持する必要があります。

したがって、少なくとも 4 つのオプションがあると考えています。

  • プロジェクトをそのままにしておきます。対応する Git モジュールをP1およびP2に追加して、すべてのモジュールがプロジェクトの適切なフォルダーを指すようにします。これにより、履歴が確実に保存されます (少なくともそう思います)。
  • P1のリポジトリを作成し、それにチェックインします。次に、モジュールB、Eをフォルダーclientに移動し、フォルダーclientをモジュールとしてP2リポジトリにインポートします。それが可能かどうかはまったくわかりませんが、履歴も保存する必要があります。
  • すべてをP1P2にチェックインし、モジュールB,EP1から、モジュールA,C,DP2から削除します。次に、 P2を git モジュールとしてP1に追加します。これにより履歴が保持されるはずですが、実際には履歴が多すぎます。そのため、モジュールP2には、 P1から分岐の瞬間までのすべてが含まれます。可能であれば、これを回避したいと考えています。
  • そして最後に、ゼロから始めて、すべてを新しいプロジェクトとしてチェックするだけです。

個人的には最初のオプションを好みますが、それが可能かどうかはわかりません。たとえば、外部プロジェクトのサブフォルダーの依存関係を追加します。

4

1 に答える 1

2

サブモジュールごとに新しいリポジトリを作成する場合は、git-subtreeを確認する必要があります。オプションを使用してsplit、サブフォルダーの履歴だけで新しいブランチを作成します。push次に、それらをmasterブランチとして新しいリモートに送信できます。

使用方法の詳細が必要な場合は、私に連絡してください。

于 2013-03-19T05:57:30.193 に答える