6


1

Gitを使用したプロジェクトのメンテナンス

私は2つのプロジェクトがあり、実際にはこれらの2つのプロジェクトは互いに約80%同じです、主な違いは言語とビジネスモデルに関するものです、1つは英語を使用するより多くの聴衆のためで、もう1つは9 $ /月のビジネスモデルを持っていますフリーミアムビジネスモデルを備えた現地語。

新しい機能/機能を追加したいときは、両方のプロジェクトに追加したいですが、特にローカルプロジェクト専用に機能を追加したいときもあります。

私の質問は、これら2つのプロジェクトをgitでどのように管理すればよいですか?

  1. プロジェクトごとに2つのgitリポジトリを維持するか、

  2. 2つの主にブランチを持つ単一のgitリポジトリを維持するか、

  3. 他の提案はありますか?

2 Answer


8


three gitプロジェクトを作成します。

  • 1つの「コア」プロジェクト:他の2つの間で共有されるコードが含まれています プロジェクト

  • あなたの英語プロジェクト:コア用のサブモジュールと特定の code

  • 翻訳したプロジェクト:コアプラスのサブモジュールもあります 特定のコード

この方法で、コアプロジェクトを変更し、サブモジュールの参照を更新できます。


2


これを設定とローカリゼーションで処理することは可能ですか? あれは:

  • 1つのコードベース

  • 英語と現地語の文字列を含む2つのローカライズファイル

  • 支払いを決定するWebサイトの各バージョンの構成 モデル化/有効化された機能とそれに応じた動作の変更

私の個人的な見解は、1つのプロジェクト= 1つのリポジトリです。 あなたのウェブサイトが明らかに非常に異なっている場合、共通のコードを適切な制御された方法で設定および変更できるモジュールにリファクタリングすることで、あなたの問題をより良く処理できると思います。 各プロジェクトに独自のgitリポジトリを持たせると、苦労せずに簡単に分岐して、簡単に追跡できない違いが含まれ、微妙なバグや未テストの機能が導入される可能性があります。