2011-10-18 11 views
0

の顧客 の顧客が興味を持っている可能性がある一般的なソフトウェア製品があります。これはすべての顧客にとって、この汎用製品はそれぞれのニーズに応じて変更/カスタマイズする必要があります。これは私にとって最高のgitワークフローモデルですか?

カスタマイズは、多かれ少なかれ伴い:

データベースの変更要件

コアモジュール&機能は、私が現在

アートワーク、グラフィック、ロゴなど

を変更機能ワークフローを使用しています

http://nvie.com/posts/a-successful-git-branching-model/

- 5+開発者 の私のチームと私の 一般的な製品開発のための一般的な製品のすべての 一般的な製品のリポジトリに貢献

私たちの現在のワークフローは、ここでは、この図に 似ています

これで、現在のワークフロー を以下のように変更して、 ジェネリック製品のすべてのバージョンをカスタマ用にカスタマイズすることができます。

私の提案された新しいGitのワークフロー:

仮定:

ジェネリック製品の独自の具体的なカスタマイズされたバージョンを必要とする3人の顧客があります。

  1. すべての顧客 などのために新しいリポジトリを作成し、一般的なリポジトリからFORK

    **generic_customerA** 
    **generic_customerB** 
    

    などとなる。

  2. セットアップユーザー/アクセス権など
  3. ユーザーは特定のリポジトリをクローンします。 generic_customerA
  4. ユーザーが変更を加え、ブランチを作成して自分のリポジトリにコミットします。
  5. ユーザーは自分のブランチとマスタをマージします
  6. リモートにプッシュします。私は各顧客 が、そのシンプルさのため、より少ないリポジトリ管理 オーバーヘッド権利のために支払う価値価格のために作成されますリポジトリの量が約 される心配に値する唯一のものを見ることができるものから、

答えて

1

各クライアントのレポは、物理的に分離されるように、あなたが別のリポジトリを作成している場合、このワークフローは結構です。

中央リポジトリは、これらのクライアントリポジトリの上流になります。これはgitの非常に一般的なモデルです。ブランチ上のクライアントの作業は、定期的にマスターから引き出して変更をマージします。私の状況クライアント&顧客に関しては

+0

はあいまいです。私はこれを反映するために質問を更新します。私の質問に答えるリチャードいただきありがとうございます。 – QCar

関連する問題