Поддержка production branch и merge отдельных коммитов в GIT?
Обычная стратегия это: «одна фича — одна ветка». Ну или группировать их осмысленными блоками, которые деплоятся одновременно.

Другая распространенная стратегия это «редкие деплои». Т.е. мы пишем все в ветку дев, или в несколько. Мержим по необходимости, тестируем и т.п. а скажем раз в неделю сливаем все это в мастер, мигрируем базу и т.п. Если история коммитов ведется более-менее аккуратно, при необходимости подчищается на локальном репозитории, то ситуаций когда нужно отложить что-то в середине почти не бывает. А мелочи можно и подправить стандартными средствами.

Вот здесь есть немного по переупорядывачиванию коммитов. Может что-то придумаете более удобное для Вас.
git-scm.com/book/ru/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-Git-%D0%9F%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C-%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8
Сделайте ветку production, или master, ну или trunk уж тогда :)