Есть примерно следующая история коммитов:
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, при условии что неизвестно какая фича попадет грядущий релиз.