1

クライアント用の Web アプリケーションを作成し、それを独自のサーバーにデプロイして、現在稼働中です。私たちのビジネス担当者は、同じアプリを使用できる契約を取り決めましたが、それは別のサーバー上にある必要があり、ルック アンド フィールをブランド変更する必要があります。そのため、アプリ間の唯一の違いは CSS とデータベースです。私は両方の設備の保守を担当しています。

現在、Ubuntu サーバーを実行している Linode にデプロイされた Git リポジトリにコードがあります。サイトの 2 番目のコピーをセットアップし、すべてを可能な限り DRY に保つにはどうすればよいですか?

共有されているコードの 90% にバグ修正を加えてから、自分が行ったことを思い出して変更を 2 番目のリポジトリにコピーする必要がないようにしたいと考えています。

4

3 に答える 3

2

いずれかのサイトの git にブランチを作成できます。

または、サイトが同じコードベースを共有し、各サイトの「構成」が個別に管理されるように、異なる必要があるものを除外することもできます (たとえば、独自の git リポジトリで)。

于 2012-02-15T21:54:19.103 に答える
1

スクリプトを使用して構成ファイルを変換します。どのプラットフォームでも機能しない構成ファイルをソース管理に保持します。早く失敗したい。

于 2012-02-15T22:48:27.770 に答える
1

これは、Linux ディストリビューションまたは Android ベンダーが対処しなければならない一般的なユース ケースです。

これをカスタマイズするために、「改良された」バージョンにいくつかのコミットがあると思います(1つはcss、画像、i18n用、もう1つは構成用)。

あなたの「きれいな」コードベースは、「改良」のベースになるはずです。

これは、プロジェクトをフォークして上流の変更を統合したい場合に発生します。

これを実現するために、クリーン プロジェクトは適切な git リポジトリであり、もう 1 つはリモートでクリーンを参照する別のリポジトリです。

クリーン プロジェクトに変更が適用されたら、他のプロジェクトをフェッチしてリベースするだけです。これにより、カスタマイズのコミットが最新のアップストリーム バージョンに適用されます。

競合を解決する必要があり、結果をテストする必要があることに注意してください。魔法ではありませんが、95% の確率で機能します。

于 2012-02-16T10:47:06.757 に答える