Не понимаю чем битрикс отличается от других.
код фреймворка/картинки/кеш в gitignore, остальное пушим, мерджим.
Какие именно религиозные соображения не позволяют так сделать в случае с битрикс?
Собственно из опыта проблемы те же - как переносить изменения БД.
Я использовал два варианта:
1 Наивно-примитивный: просто дублируем руками все изменения БД, сделанные на тесте на боевом серваке и все. Добавили поле на тесте - добавляем сразу на боевом.
2 Версионные скрипты модификации БД - все изменения в структуре БД делаются только через API, специальными скриптами, которые внося изменения изменяют и номер версии БД в настройках. Текущий требуемый номер хранится в скриптах. На каждом хите он сличается с тем что есть в БД и если они не совпадают, запускаются скрипты миграции для БД, которые вносят необходимые изменения. Немножко гемора при разработке, но зато потом можно накатывать на совершенно голую инсталяцию сайт.