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