私はgitで保持しているウェブサイトを持っています。これはasp.netwebformsWebサイトです(ただし、この質問ではおそらく重要ではありません)。
このウェブサイトは、お客様が2つ(将来的には4つ)のウェブサイトに使用します。ほとんどの機能は共有されています。ただし、web.configやcssを含むフォルダーなど、いくつかのものはWebサイトごとに異なります。
これがコードの簡略化されたバージョンです
| --BackOffice | \-UI | --BackOffice.UI | \-WebControls | --BackOfficeTests |-展開 | \-db | --BusinessLogicLayer | | --bin | | --obj | \ - プロパティ |-スクリプト |-ウェブサイト | | --admin | | --App_Browsers | | --App_Code | | --App_Data | |-スタイル | | --web.config
これに適した構造はGitにありますか?
たとえば、BackOfficeコードは完全に共有されます。Stylesフォルダーとweb.configファイルを除いて、Webサイトは共有されます。
マージや分岐が長すぎない構造についての良い提案はありますか?
私はそのような構造を作ろうとしました:
マスター | --Site1 | --Site2
しかし、あるブランチから別のブランチにコードを移動するときに、チェリーピッキングが多すぎると予測しています。サブモジュールは問題ないのでしょうか、それとも複雑になるのでしょうか。
編集:私の本当に大きな問題は、gitリポジトリから直接デプロイしたいということです。そして、これらのディレクトリ/ファイルに残しておくと、複雑なことをしない限り、マージ中にマージされます(チームの全員にこれを行わせることはできません)。または、これらのファイルを無視して、別の場所から取得する必要があります...