В общем идея такова: иметь одну основную ветку. Ветки, с которыми работают тестовые стенды, автотестирование и т.п. - временные, формируются заново путем мерджа с основной веткой списка фич-веток. Т.о. все сначала проверяется, и только потом фич ветки мерджатся с основной (когда будут готовы).
Плюсы: все коммиты по крупной задаче находятся в одной ветке (в противоположность магистральной разработке), нет необходимости что-то откатывать (да и откатывать тоже не трудно).
Есть что-то подобное уже?
Вроде так все плюшки git-flow и ci/cg получаются: все собирается вместе и нет каши из коммитов, и в любой момент можно отключить фичу от сборки решив, что она еще не готова.