ГИТ-2 отдельно развивают ветви-вишневые или нет?


У меня 2 отдельных веток в Git, develop1 и develop2. Эти 2 ветви имеют общего предка, commit C1 на master. Эти 2 ветви содержат 2 цикла выпуска продукта, которые будут объединены примерно через 6 месяцев (оба объединены в master).

Перед большим слиянием через 6 месяцев ветви develop1 и develop2 будут разделены, никакого слияния между develop1 develop2 не будет сделано.

Однако некоторые изменения (например структура проекта, изменения скрипта) будут сделаны на обеих ветвях.

Моя идея состоит в том, чтобы выполнить эти изменения на develop1, а затем выбрать их для develop2.

Мои вопросы:

    Разумно ли это делать?
  1. приведет ли это к проблемам позже при выполнении большого слияния?

Причина, по которой я спрашиваю об этом, заключается в том, что я читал, что сбор вишен может привести к проблемам, потому что создаются новые коммиты.

Один список ссылок возможная проблема: http://blog.founddrama.net/2013/07/git-cherry-pick/

1 3

1 ответ:

Я всегда говорю об одних и тех же проблемах с подбором вишен (как в "git-cherry-pick-HOWTO / WHYTO")

Второй вопрос здесь не актуален, так как вы выбираете только коммиты, которые работают сами по себе и тестируются/проверяются на второй ветви задолго до их слияния на master.

Но первый может быть проблемой, когда develop1, затем develop2 будет слит с master. Само слияние должно быть прекрасным.
Но, как объяснено в "git cherry pick and datamodel integrity ", изменение появится дважды в истории объединенного коммита.

Если возможно, после того, как develop1 будет объединено в master, я бы перебазировал develop2 поверх обновленного origin/master, перед объединением develop2 обратно в master: это обнаружило бы идентичные коммиты и не применяло их дважды.