10

どのgit戦略を使用するのが適切かという状況がありますか?

状況 :

gitリポジトリを持つアプリケーションが1つあります。分岐戦略に従うと、

  1. ブランチ:開発:すべての開発者が機能を実装するために使用します

  2. ブランチ:テスト:アプリケーションをテストするために現在までに開発されたコードがデプロイされる場所。

  3. ブランチ:本番:テストチームからの承認後、テストブランチを本番にマージし、本番環境にデプロイします。

問題 :

  1. これで、本番環境に3つの異なるインストール(site1.mainDomain.com、site2.mainDomain.com、site3.mainDomain.com)があり、これら3つのインストールには、今のところ異なるヘッダー(ロゴ、ヘッダーの色)があります。

  2. site1.mainDomain.comには、将来開発可能で、site1.mainDomain.comでのみ使用できる機能のセットが含まれている可能性があります。

  3. 一部の将来の機能は、site1.mainDomain.com、site2.mainDomain.comには共通ですが、site3.mainDomain.comには共通ではありません。

  4. ここで、ベースブランチからの主要な問題であるsite1.mainDomain.comの作成に問題がある場合、これをどのように管理するかを説明します。

では、これを達成するために、どのgit戦略が役立つのでしょうか?私はサブモジュール、gitサブツリー、gitパッチについて読んでいましたが、決定を下すのに少し混乱しました。従うべき最善の解決策と戦略を提案してください。

前もって感謝します。ビジェイ

4

2 に答える 2

9

この問題を解決するために間違った場所(バージョン管理システム)を見ていると思います。この種の状況では、通常、コンテキストごとに異なる設定ファイルを作成し、それらすべてを同じgitブランチに保持し、デプロイメントごとに小さなローカル構成ファイルを用意します(ほとんどの場合、適切なコンテキストを選択します)。次に、コードは、コンテキストに基づいて、表示するコンテンツの種類を確認できます。

サイトごとに異なる機能ブランチを作成することは強くお勧めします。そうすると、混乱が乱れ、マージの競合が非常に速く解決されるためです。

于 2012-11-23T09:22:32.173 に答える
4

問題を解決するためにgitを使用しないことを強くお勧めします。私が取り組んでいるプロジェクトは、正当な理由もなく2つのgitブランチを維持する必要があるという罠に陥ったため、経験からそれを知ることができます。Githubファイアウォールのインストール(Github:FI、Github Enterpriseの前身)にも同じ問題がありました。

問題を解決するために、フィーチャートグル(フィーチャートグル)パターンを確認することをお勧めします-http://martinfowler.com/bliki/FeatureToggle.html

于 2012-11-24T09:36:58.540 に答える