Могу ли я поддерживать две версии одного приложения с помощью Git? - PullRequest
1 голос
/ 28 апреля 2011

Я пишу приложение на Ruby on Rails.Это приложение будет доставлено минимум двум разным типам клиентов.База всегда одна и та же, но некоторые взгляды отличаются.Это в основном это.На данный момент.

Можно ли, например, использовать ветки, использовать одну и ту же кодовую базу и, например, разделять только представления?Я прочитал руководство по Git для ветвления, но все еще не уверен, что это лучший способ достичь того, что мне нужно.Но это умно?Если я что-то изменю в коде форка A, легко ли объединить эти изменения в форк B?

Ответы [ 3 ]

4 голосов
/ 28 апреля 2011

Разветвление и разветвление в git совсем не плохо, так как поддержка слияния отличная (возможно, лучшая из всех VCM).

Лично мне не нравится идея ветвления или разветвления проекта, чтобы обеспечить различные настройки, поскольку это может очень быстро стать очень трудным, например, что вы собираетесь делать, если у вас есть 15 различных развертываний?

Я думаю, что лучший подход - это построить приложение, чтобы оно работало по-разному в зависимости от некоторых параметров. Я хорошо знаю, что иногда реализации очень разные, так что это может больше не быть полезным. Другой подход заключается в создании ядра вашего приложения в GEM, который действует как служба для приложения, и единственное, что вы настраиваете для каждого клиента, - это представления. Конечно, GEM должен быть достаточно универсальным, чтобы предоставлять все необходимые вам услуги.

Пожалуйста, поделитесь с нами тем, что вы решили, так как нет лучшего ответа на ваш вопрос.

0 голосов
/ 28 апреля 2011

Я согласен с @Augusto.Вы можете запустить свое приложение в 2 разных средах, т.е. production_A и production_B.Оттуда вы можете использовать SettingsLogic для определения конфигураций на основе Rails.env , а затем ссылаться на эти настройки в вашем приложении при выборе вида для использования, например.

0 голосов
/ 28 апреля 2011

Вероятно, было бы лучше, чтобы ваш продукт выбирал между типами во время сборки или выполнения, так что вы можете использовать один набор источников.

В противном случае это возможно с ветвями и объединением, новам будет сложнее управлять вещами.Форкинг в основном ветвится на этом уровне.

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