非常によく似た質問がありますが、どれも私の懸念に対処していないので、最初に重複した質問をした場合はお詫び申し上げます。
「結合」された3つのプロジェクトがあります。つまり、一方の変更がもう一方のプロジェクトに影響します。それらのそれぞれは、個別のgitプロジェクトとしてgithubでホストされています。プロジェクトは次のとおりです。
- サーバー(... foo / server.git)
- cliクライアント(... foo / cli-client.git)
- Webクライアント(... foo / web-client.git)
機能の分岐、リリースの分岐、修正プログラムの分岐、および一般的にソフトウェアのリリースが必要です。
明らかに、web / cliクライアントでの変更はサーバーでの変更と連動しており、分岐する必要がある場合は、それらのプロジェクトごとに分岐を作成する必要があります(分岐は多くの場合、元の場所で終了するため、チーム全体が協力できます)。マスターなどにマージする必要がある後...
これを避けて、同時にバージョンを分岐できるメカニズムを作りたいと思います。これに対する明らかな答えは、各プロジェクトをサブフォルダーとして持つ親プロジェクトを作成し、最終的に親プロジェクトを1つのgitリポジトリに保持することです。
私の質問は、これの欠点は何でしょうか?アプローチは少しナイーブなようですが、これを達成するためのより良い方法があるのだろうかと思います。私が調べていたのですが、それらはダウンストリームgit submodules
を提供し、アップストリームを許可していないようです。これにより、すべてのプロジェクトに分岐してマージすることができます。(多分私はこれについて間違っています)。
ありがとうございました