0

私はかなり長い間、以下の目標を達成する方法を考えてきました。優れたインフラストラクチャを作成するのに十分な知識を持っているほど、私は Git の専門家ではないと思います。誰でも私に提案を与えることができますか?

シナリオ:

製品A、B、C クライアントX、Y、Z

Client X has Product A only.
Client Y has Product A and B.
Client Z has Product B and C.

最初は、ベースはレポ A、B、C である必要があり、クライアントが製品に関する特定の要求を持っている場合に備えて、それぞれが異なるフォルダーに個別のモジュールを持つ必要があると考えていました。しかし、後で何かが頭に浮かびます。レポ A からフェッチしてプルするとどうなるでしょうか? 別々のモジュールが一気に引っ張られますか?どうすればいいですか、または他のより良いインフラストラクチャはありますか?

4

1 に答える 1

1

からフェッチしてプルするとどうなりRepo Aますか? 別々のモジュールが一気に引っ張られますか?

いいえ: 各リポジトリは独立しています。

適切なサブモジュールを参照するために、3 つの追加リポジトリをお勧めします。

  • RepoXfor Client X: 1 つのサブモジュールを参照しますA
  • RepoYfor Client Y: 2 つのサブモジュールAを参照し、B
  • RepoXfor Client Z: 2 つのサブモジュールBを参照し、C

特定のクライアントに必要な各製品の正確な SHA1 を記録するというアイデア (サブモジュールを使用)。
そのように、1 つのProductレポをプルすると、次のようになります。

  • Product他のリポジトリには影響しません
  • 親レポ(Clientレポ)で1レベル上に戻り、サブモジュールの新しい状態を追加してコミットし、そのサブモジュールで行った変更を記録します。
于 2013-11-26T07:50:50.673 に答える