注: 重要な場合は、gitを使用しています(したがって、分岐とマージは簡単です)。これは Android アプリケーションです ( Java - したがって、条件付きコンパイルは実際には適用されません)。
こちらの質問に似ていますが、ソフトウェアの単一バージョンの異なるリブランド間で UI の違い以外の違いがある場合はどうなりますか? たとえば、機能全体またはサブシステム全体をリブランドの 1 つにコンパイルすべきでない場合 (たとえば、ある企業の知的財産であり、他の企業が利用できないコードが含まれている場合) はどうでしょうか?
この場合、ブランド変更ごとに個別のブランチを作成する必要がありますか? もしそうなら、メイン/マスターブランチはコードストレージになるだけで、有用なアプリケーションにコンパイルされない(奇妙な)ため、何か用途がありますか? しかし、メイン/マスター ブランチがないということは、リブランド間でマージするコミットをチェリー ピック (個別に選択) しなければならないことを意味し、これは悪いアプローチのように思えます。
または、ブランチを含まないこれを解決する別の方法はありますか?