2010-04-06 15 views
5

Mam 2 projekty, a właściwie te 2 projekty są około 80% podobne, różnica polega głównie na języku i modelu biznesowym, jedna jest dla większej grupy odbiorców posługującej się językiem angielskim i ma 9 $/Miesiąc modelu biznesowego, inny używa języka lokalnego z freemium model biznesowy.Utrzymanie projektu za pomocą Git

Kiedyś chcę dodać nową funkcję/funkcjonalność, chcę dodać ją do obu projektów, ale także czasami chcę dodać funkcję specjalnie dla lokalnego projektu.

Moje pytanie brzmi: jak zachować te dwa projekty z git?

  1. utrzymaniem 2 repozytorium git dla każdego projektu lub
  2. Utrzymywać jednym repozytorium git z 2 głównie oddział lub
  3. Każda inna propozycja?

Odpowiedz

8

tworzyć trzy projektów git:

  • jeden "rdzeń" projekt: zawiera kod współdzielony między dwoma innych projektach

  • swój angielski projekt: Ma submoduł dla rdzenia plus specyficzny kod

  • tłumaczone Twój projekt: to również ma submodule dla rdzenia powiększonej kodu specyficznego

ten sposób można zmienić swój podstawowy projekt, aktualizacja odniesień modułem i byłbyś dobry

+0

Submodules to sposób na osiągnięcie tego celu. Wszyscy muszą jasno wiedzieć, co się dzieje, ale kiedy już to robią, to najmniej. –

2

Czy to możliwe aby poradzić sobie z tym poprzez konfigurację i lokalizację? Czyli:

  • jedną bazę kodu
  • Dwa pliki lokalizacyjne zawierające angielski- i lokalnych języków strun
  • konfigurację dla każdej wersji strony określającej model płatności/włączone funkcje i zmiany zachowań odpowiednio

Mój osobisty widok to jeden projekt = jedno repozytorium. Jeśli twoje strony internetowe są wyraźnie różne, nadal uważam, że Twój problem może być lepiej rozwiązany poprzez refaktoryzację wspólnego kodu w moduły, które można konfigurować i modyfikować w zdrowy, kontrolowany sposób. Jeśli pozwolisz każdemu projektowi mieć własne repozytorium git wtedy, bez ciężkiej pracy, mogą łatwo rozdzielić i zawierać różnice, które nie mogą być łatwo śledzone, wprowadzając subtelne błędy lub nietestowaną funkcjonalność.

Powiązane problemy