Ну что бы сделать автоматическую генерацию поддоменов, я думаю github не подойдет, нужно поднимать свой git сервер и настраивать apache (или что там у вас) так что бы поддомены смотрели на название веток git'а.
А там уже просто на, каждую фичю откалываете ветку пишете код, коммитите и сразу смотрите на нужном поддомене.
Ну а продакшен, все по стандарту, просто сливаем нужные ветки в master, правим конфликты если они есть, и делаем деплой в папку на которую смотрит домен рабочего проекта.
У нас еще и реальная база копируется раз в сутки на тесовый сервак на котором у нас git, для того что бы были максимально актуальные данные в базе и не было страшно что то положить или затереть при тестировании :)
/= currentFontSzie/defaultFontSize