Многофункциональные ответвления и непрерывная интеграция

Я недавно читал о непрерывной интеграции , и есть сценарий, который может произойти, и я не понимаю, как с ним справиться.

У нас есть стабильная ветка mainline / trunk и мы создаем ветки для функций. Каждый разработчик будет обновлять свои собственные функциональные ветки, регулярно сливаясь из основной ветки в свою ветку. Однако вполне возможно, что две или более функциональных ветки могут быть созданы и работать над ними в течение нескольких недель или месяцев. За это время можно было развернуть множество выпусков программного обеспечения. Вот где возникает мое замешательство.

Очень вероятно, что изменения для одной функциональной ветки вызовут конфликты слияния с другими функциональными ветвями. CI предлагает выполнять слияние в магистраль хотя бы раз в день, чтобы быстро разрешить конфликты. Однако вы можете не захотеть объединять код функции в магистраль, потому что это может не быть завершено, или вы можете не захотеть, чтобы эта функция была доступна в следующем выпуске. Итак, как вы справляетесь с этим сценарием и при этом следуете принципам CI ежедневной интеграции кода?

20
задан Daniel Daranas 4 August 2013 в 15:59
поделиться