Как перетащить несколько коммитов в другую ветку в git?

1,00
р.
Дано: существуют две ветки, ветка prod в которой то что лежит на боевом сервере и ветка develop из которой выкатывается на тестовый. Они разумеется во многом похожи но содержат множество принципиально разных фичей. В один прекрасный день возникает необходимость запилить тяжелую фичу прямо от прода. Фича запиливается. Остается вопрос - как перетащить ее в ветку девелоп, чтобы при этом не было нужно мержить всех предков этой фичи. Смотри картинку: Случай А: Я хочу перетащить коммиты E и F не перетаскивая коммиты A и B. Как? Случай B: этот и дальше на практике мне пока не нужны (и рисовать было лень) но любопытно: пусть F - это некоторое множество последовательных коммитов не оформленных в отдельную ветку (т.е. не существует ветки содержащей в себе коммиты F и только их) Я хочу перетащить коммиты F, но не хочу коммит(ы) E. Как? Случай C:, хочу перетащить всю ветку фичи кроме одного-трех коммитов, которые находятся где-нибудь в середине ветки и не являются последовательными Случай D:, Это случай А плюс добавим что ветку от прода надо сохранить. E: возможно ли при этом задать какое-нибудь автоматическое разрешение конфликтов в сторону (девелопа)/(ветки с фичей) если они будут
Пока я нашел cherry-pick но перетаскивать ветку по одному коммиту - то еще извращение и наверняка есть человеческий способ. Правильно ли я понимаю что мне нужно копать куда-то в сторону rebase?


Ответ
@Volt, git cherry-pick позволяет переносить несколько коммитов сразу. Для этого нужно задать, например, диапазон коммитов: git cherry-pick F..E. Подробнее о задании диапазонов коммитов читейте здесь: http://git-scm.com/docs/gitrevisions.html