Удалите определенные коммиты из объединения в определенной ветке

# #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. Как бы вы подошли к этому с точки зрения подхода к настройке, как вы упомянули? Есть какие-нибудь варианты на ваш взгляд?