# #git #github #gitlab #git-branch #branching-and-merging
Вопрос:
У меня есть следующие сценарии.
У меня есть 2 промежуточных филиала. stage A
и. stage B
Некоторые функции предназначены stage B
только для тестирования и не должны быть объединены stage A
.
Допустим, я проверил новую ветвь функций feature A
master
. Закончил его. Я нажал на stage B
нее . Контроль качества прошел его. Затем я слился feature A
с master
ним . И развернул его. feature A
не должно заканчиваться stage A
ничем . Теперь я создаю новую ветвь функций feature B
master
. Закончил его. Эту функцию можно протестировать stage A
. Но когда я объединяю его с stage A
, я не хочу, чтобы коммиты из feature A
были объединены и перемещены stage A
, потому что stage A
они вообще не должны отображаться. Как я могу сделать так, чтобы это произошло? Или любая стратегия ветвления Git/gitlab, которая помогла бы в этом сценарии?
Комментарии:
1. У вас есть какое
production
-нибудь отделение? Похоже, вам следует начать свои функциональные ветви с этой «стабильной» ветви, а не с master.2. Проблема здесь в том, что у вас есть мастер в середине, который будет содержать оба набора. Это не является устойчивым способом, который вы выбрали. Мой совет состоял бы в том, чтобы перейти от наличия кода или его отсутствия к его настройке. То есть код будет присутствовать, но у вас есть конфигурация, которая сообщает приложению, применяется код или нет. Это гораздо проще в обслуживании.
Ответ №1:
Если вы попытаетесь управлять этим с помощью коммитов в git, это будет означать, что код на stage A
будет отличаться от кода на stage B
или мастер, и ИМХО станет проблемой для последующего обслуживания-код, который вы тестируете, не будет таким же, слияния, конфликты,…
Я бы предложил справиться с этим с помощью кода : выберите какой-либо способ активации/деактивации этой функции с помощью настроек конфигурации вашего приложения.
Комментарии:
1. Как бы вы подошли к этому с точки зрения подхода к настройке, как вы упомянули? Есть какие-нибудь варианты на ваш взгляд?