Подход к использованию Git с двумя мастерами - PullRequest
2 голосов
/ 05 июля 2019

У нас есть два клиента (и их количество), которые совместно используют 80% кода проекта, основные отличия - изображения, файлы конфигурации и немного HTML.Нет ничего похожего на мастера, потому что без отдельных данных проект не мог бы работать.

Что было бы наилучшим решением для обработки этого сценария с помощью git?Можно ли как-то использовать git flow?

В настоящее время у нас просто есть 4 ветви:

customer1_dev -> customer1_master
customer2_dev -> customer2_master

Мы выбираем Cherry большинство коммитов между ними.

Ответы [ 2 ]

1 голос
/ 05 июля 2019

Основной вариант при использовании Git для управления базами кода в этом сценарии состоит в том, чтобы разветвляться от общей базы кода и затем поддерживать отдельные ветви для каждого клиента (и ограничивать фиксацию в этих ветвях клиентов для их конкретных компонентов). Все общие разработки должны происходить в основной ветке .

Затем, когда вы будете готовы создать кандидата на выпуск для определенного клиента, переключитесь на его branch и выполните: git merge master в филиале этого клиента.Это внесет все изменения из основной линии в ваш филиал для конкретного клиента.

Вы можете сделать rebase вместо слияния.Но это менее выгодно, потому что это может усложнить поиск основной причины ошибки, если она всплывает в ветви клиента, которая не находится в ветви основной линии.Но либо merge, либо rebase в филиале клиента должны обеспечить хороший рабочий процесс для описанной вами ситуации.

1 голос
/ 05 июля 2019

Ваш случай звучит так, как будто у вас есть один репозиторий / сервис / база кодов, которую следует разветвить для двух клиентов.Я бы предложил создать основную ветку, которая содержит 80% кода (общая часть).Клиентские ветви будут переключаться на эту основную ветвь при изменении.В идеале вы должны разделить их на 3 репозитория, а клиентские репозитории были бы для них форками.

Лично я бы не зависел от git для разных конфигов и носителей.Было бы безопаснее использовать конфиги или что-то вроде cms.

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