私はこのような構造のアプリ(cms)を持っています:
BASE:
/application/
/public/
themes/
default/
mobile/
これは、すべてのプロジェクトのベースとなる中央リポジトリです。次に、プロジェクトは独自のスキンを取得します:(テーマに基づいています/default/
)
CLONE1:
/application/
/public/
themes/
default/
mobile/
own/
...
own-theme-12/
(このアプリには、デフォルトのテーマに基づいた12のカスタムテーマがあります)。
すべては、アプリケーションを維持し、すべてのクローンをBASEで最新の状態に保つことです。
ここで、BASEをリモートリポジトリとして追加します。
(/clone1/)$ git remote add base-repo /path/to/base.git
次に、必要に応じて更新を取得します。
(/clone1/)$ git pull base-repo develop
の.php
ファイル/application
が変更されると、すべてがうまく機能します。default
問題は、BASEリポジトリのテーマのファイルを変更したときに始まります(たとえば、タイプミスreset.css
)。CLONE1/default
テーマとすべてのテーマの変更が必要CLONEx/own-x/
です。
もちろん、変更をコピーしてコミットする場所を指示するためにいくつかのbashスクリプトが必要になりますが、マージの競合なしに全体を同期させる方法はありますか?
を使用しますgit flow
。現在、テーマdefault
とmobile
テーマは別々のブランチにはありません。それらが必要ですか?サブモジュールはまだ使用していません。
このワークフローを整理する方法はたくさんありますが、最適なものとしてどれを選択しますか?