Я изо всех сил пытался сформулировать вопрос таким образом, чтобы он не стал слишком субъективным.Любые выпуски приветствуются.
У нас есть репозиторий, в котором мы тестируем новые функции в разных ветках, прежде чем объединять их с мастером.Случилось так, что мастер в настоящее время используется несколькими клиентами.Во время одной из презентаций для нового клиента торговый представитель предлагал функцию, которая все еще находилась на стадии бета-тестирования, и которая имела решающее значение для заключения договора.
Наше решение состояло в том, чтобы развернуть эту ветку в другом домене, чтобы позволить имиграть с этим.Им это нравилось, но никто из других клиентов не хотел им пользоваться.Это была основная функция, поэтому мы не смогли просто объединить мастер и включить или отключить его по запросу.
Прошло время, и эта новая ветвь получала все больше и больше обновлений и функций, вплоть до того момента, что сейчасэто другое приложение, едва связанное с master (конечно, они разделяют 90% своего ядра, но теперь они служат другим целям).
Это не технический вопрос, разделение проекта обсуждалось и решалось ранее: Создание нового проекта из ветви и нам это понятно.
Что мы хотим знать, так это то, что у вас была подобная ситуация и как вы ее решили?Вы просто сохранили ветви такими, какими они были, или вы разделили репо на две части?
tl; dr
В настоящее время мы разделены.Имеет смысл разделить репозиторий и сохранить его как есть.Если мы разделим, может быть, мы вынуждены дважды обновить некоторые общие характеристики, но это все же произойдет, если они находятся в одном репо.С другой стороны, наличие двух HEADS (двух репозиториев) сделает более понятным и понятным процесс отладки / развертывания с течением времени и началом накопления коммитов.
Я сделал диаграмму, чтобы проиллюстрировать нашу точку зрения, надеюсь, это поможет: 