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

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

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

Похожие вопросы