Ведение проекта с помощью Git - PullRequest
6 голосов
/ 06 апреля 2010

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

Иногда, когда я хочу добавить новую функцию / функциональность, я хочу добавить ее в оба проекта, но иногда я хочу добавить функцию, особенно длялокальный проект.

Мой вопрос: как мне поддерживать эти 2 проекта с помощью git?

  1. Поддерживать репозиторий 2 git для каждого проекта или
  2. Поддерживать репозиторий одного gitс 2 в основном веткой или
  3. Любое другое предложение?

Ответы [ 2 ]

8 голосов
/ 06 апреля 2010

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

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

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

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

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

2 голосов
/ 06 апреля 2010

Возможно ли вам справиться с этим через настройку и локализацию? То есть:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...