ГИТ-2 отдельно развивают ветви-вишневые или нет?
У меня 2 отдельных веток в Git, develop1 и develop2. Эти 2 ветви имеют общего предка, commit C1 на master. Эти 2 ветви содержат 2 цикла выпуска продукта, которые будут объединены примерно через 6 месяцев (оба объединены в master).
Перед большим слиянием через 6 месяцев ветви develop1 и develop2 будут разделены, никакого слияния между develop1 develop2 не будет сделано.
Однако некоторые изменения (например структура проекта, изменения скрипта) будут сделаны на обеих ветвях.
Моя идея состоит в том, чтобы выполнить эти изменения на develop1, а затем выбрать их для develop2.
Мои вопросы:
-
Разумно ли это делать?
- приведет ли это к проблемам позже при выполнении большого слияния?
Причина, по которой я спрашиваю об этом, заключается в том, что я читал, что сбор вишен может привести к проблемам, потому что создаются новые коммиты.
Один список ссылок возможная проблема: http://blog.founddrama.net/2013/07/git-cherry-pick/
1 ответ:
Я всегда говорю об одних и тех же проблемах с подбором вишен (как в "git-cherry-pick-HOWTO / WHYTO")
Второй вопрос здесь не актуален, так как вы выбираете только коммиты, которые работают сами по себе и тестируются/проверяются на второй ветви задолго до их слияния на master.
Но первый может быть проблемой, когда
develop1
, затемdevelop2
будет слит с master. Само слияние должно быть прекрасным.
Но, как объяснено в "git cherry pick and datamodel integrity ", изменение появится дважды в истории объединенного коммита.Если возможно, после того, как
develop1
будет объединено вmaster
, я бы перебазировалdevelop2
поверх обновленногоorigin/master
, перед объединениемdevelop2
обратно вmaster
: это обнаружило бы идентичные коммиты и не применяло их дважды.