bondarenko
@bondarenko
Spacewalker

Как смержить только изменения ветки, но не предков?

Есть примерно следующая история коммитов:
  C7---C8             #release_v2
  /
 /
C1---C2---C5---C6---    #dev
      \        /
       \      /
        C3--C4     #my_super_feature

При попытке смержить my_super_feature в release_v2 изменения сделаные в коммите C2 также попадают в релиз. Между С1 и С2 могут быть коммиты С1.1, C1.2, C1.n которые также попадут в коммит-слияние.

Конечно можно использовать Cherry-pick, но бывает в ветке фичи десятки коммитов. Или можно все фичи "ответвлять" от С1, но хочется чтобы в dev были всегда последние правки по фичам, и новые фича начинались от последнего коммита в dev.

Есть ли способ смержить только коммиты C3 и С4 из my_super_feature в ветку релиза, исключая изменения сделаные в C2 и все что было перед ним?

Если такой возможности нет, то посоветуйте пожалуйста, как еще организовать ветки, чтобы новые фичи ответвлялись от последней версии проекта (даже не стабильной) и мержились и в dev и в release, при условии что неизвестно какая фича попадет грядущий релиз.
  • Вопрос задан
  • 329 просмотров
Решения вопроса 1
@aol-nnov
если не ясно, что пойдет в следующий релиз, надо все фичи начинать от одного коммита.
но я бы делал не так:
делаешь фича-бранч от #dev, колбасишь фичу, как она готова - ребейзишь её на край #dev, ревью кода, (потом опционально sqash всей фичи до 1 коммита), мёрж в #dev. Потом еще одну, и еще. Тестинг-шместинг, как всё улеглось, от этого места в #dev делаешь #release отдельную ветку или ребейзишь сюда ту ветку, с которой делаешь релизы или просто ставишь тэг.
релиз прошел, какая фича доделана, ребейзишь её на край #dev и всё по кругу.
при таком подходе хорошо видно, что попадет в релиз (так как оно уже доделано и лежит в #dev)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@ashumkin
системный разработчик
то посоветуйте пожалуйста, как еще организовать ветки...

Удачная модель ветвления для Git не подойдёт?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы