Поддержание проекта с мерзавцем

У меня есть 2 проекта и на самом деле эти 2, проект составляет приблизительно 80% то же друг друга, главным образом, различием является примерно языковая модель и бизнес-модель, каждый для более многочисленной аудитории, использующей английский язык, и имейте $9 / бизнес-модель месяца, другой использует местный язык со свободно распространяемой бизнес-моделью.

Когда-то, когда я хочу добавить новую опцию / функциональность, я хочу добавить его в обоих из проекта, но также и когда-то я хочу добавить опцию особенно только для локального проекта.

Мой вопрос, как я поддерживаю эти 2 проект с мерзавцем?

  1. Поддержите 2 репозитория мерзавца для каждого проекта или
  2. Поддержите единственный репозиторий мерзавца с 2 главным образом ответвление или
  3. Какое-либо другое предложение?
6
задан gkrdvl 6 April 2010 в 19:37
поделиться

2 ответа

создать три проекта git:

  • один «основной» проект: он содержит код , общий для двух других проектов

  • ваш английский проект: в нем есть подмодуль для ядра плюс специальный код

  • ваш переведенный проект: он также имеет подмодуль для ядра плюс {{ 1}} специальный код

таким образом вы можете изменить свой основной проект, обновить ссылки на подмодули, и все будет хорошо

8
ответ дан 10 December 2019 в 00:36
поделиться

Возможно ли это сделать через конфигурацию и локализацию? То есть:

  • Одна кодовая база
  • Два файла локализации, содержащие строки на английском и местном языках
  • Конфигурация для каждой версии сайта, определяющая модель оплаты/включенные функции и изменяющая поведение соответственно

Мое личное мнение - один проект = один репозиторий. Если ваши сайты явно очень разные, то я все же думаю, что ваша проблема может быть решена лучше путем рефакторинга общего кода в модули, которые могут быть настроены и изменены разумным, контролируемым образом. Если вы позволите каждому проекту иметь свой собственный git-репозиторий, то без усердной работы они могут легко разойтись и содержать различия, которые нелегко отследить, внося тонкие ошибки или непроверенную функциональность.

2
ответ дан 10 December 2019 в 00:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: