в общем виде у вас верно описано. на практике же все может быть совсем иначе.
Правильно ли я понимаю, что у разработчиков локальные репозитории должны сливаться в bare, который тут же должен развернут на тестовый каким-либо инструментом
правильно – локальные репы должны сливаться в bare.
не правильно – тут же должен развернут на тестовый. зачем, как, и почему?
если это готовое решение – да, его можно выкатить на тестовый сервер.
если это промежуточный комит – нет никакого смысла выкатывать его на тест.
(каким???)
да их полно. и выбор зависит только от ваших хотелок.