最近、TFVC から Git に移行することを決定し、新しい Git アーキテクチャを設計するための最良の方法を見つけようとしています。
私たちのコードは、独立しているが緊密に結合されたモジュールで構成されています。次のプロジェクトを見てみましょう。
CommonLib1
CommonLib2
ApplicationA
(使用CommonLib1
)ApplicationB
(CommonLib1
&を使用CommonLib2
)
CommonLib1
/は完全に独立していますが、 /CommonLib2
のほとんどすべての新機能はApplicationA
/ApplicationB
を変更する必要があります。CommonLib1
CommonLib2
さらに、新しい機能を追加するときは、すべてのプロジェクトにまたがる単一のブランチを作成したいと考えています。
私が理解している限り、2 つの主なオプションが残っています。
プロジェクトごとにリポジトリを作成し、
CommonLib1
/CommonLib2
をサブツリーとしてApplicationA
/に追加しますApplicationB
。すべてのプロジェクトに対して 1 つの Monorepo を作成します。
私の状況に最適な Git プラクティスは何でしょうか?