1

私はRubyonRailsでアプリケーションを書いています。このアプリケーションは、少なくとも2つの異なる顧客タイプに配信されます。ベースは常に同じですが、一部のビューは異なります。それがほとんどです。今のところ。

たとえば、ブランチを使用して、同じコードベースを使用し、ビューのみを分離する方法はありますか?分岐についてはGitのマニュアルを読みましたが、これが必要なことを達成するための最良の方法であるかどうかはまだわかりません。

別のアイデアはフォークです。しかし、それは賢いですか?フォークAのコードで何かを変更した場合、これらの変更をフォークBにマージするのは簡単ですか?

4

3 に答える 3

4

マージサポートが優れているため、gitでの分岐とフォークはまったく悪くありません(おそらく最高のVCM)。

個人的には、プロジェクトを分岐またはフォークしてさまざまなカスタマイズを提供するというアイデアは、非常にすぐに困難になる可能性があるため、好きではありません。たとえば、15の異なる展開がある場合、どうしますか?

より良いアプローチは、いくつかのパラメーターに応じて異なる動作をするようにアプリケーションを構築することだと思います。実装が大きく異なる場合があることをよく知っているので、これはもう役に立たないかもしれません。もう1つのアプローチは、アプリケーションのサービスとして機能するGEMでアプリのコアを構築することです。クライアントごとにカスタマイズするのは、ビューだけです。もちろん、GEMは、必要なすべてのサービスを提供するのに十分な汎用性を備えている必要があります。

あなたの質問に対する最良の答えはありませんので、あなたが決めたことを私たちと共有してください。

于 2011-04-28T09:46:23.563 に答える
0

ビルド時または実行時のいずれかでタイプから製品を選択させる方がおそらく良いでしょう。そうすれば、単一のソースセットを使用できます。

それ以外の場合は、ブランチとマージで可能ですが、管理がより困難になります。フォークは基本的にこのレベルで分岐しています。

于 2011-04-28T09:44:37.623 に答える
0

@Augustoに同意します。アプリは、production_Aとproduction_Bの2つの異なる環境で実行できます。そこから、SettingsLogicを使用してRails.envに基づいて構成を定義し、たとえば使用するビューを選択するときにアプリでそれらの設定を参照できます。

于 2011-04-28T10:16:13.437 に答える