Я понимаю, что в голове у человека. И понимаю, как не надо делать. И могу помочь сделать как надо, от совета "так делать не надо, надо так", до разжевывания, и, если надо, установки и настройки.
Вы неверно понимаете принципы работы git.
Ветки переключаются на локальных машинах разработчиков. Там они могут плодить эти ветки тыщами.
После некоторой работы разработчик мерджит свою рабочую ветку в какую-то ветку, присутствующую в центральном репозитории (локально), после чего делает push в центральный репозиторий.
В свою очередь центральный репозиторий - bare. Это значит, что там нет рабочей ветки, нет как такового кода - только коммиты в нем хранятся. Соответственно, чтобы изменения попали в тестовое окружение - настраивается деплой по хуку этого bare репозитория в тестовый каталог.
То есть структура такая:
- есть центральный репозиторий, в котором нет текущей ветки и кода, только коммиты.
- есть локальные репозитории разработчиков - там есть рабочая ветка, голова, все прелести гита короче. Этот репозиторий создается путем клонирования от центрального.
- есть рабочие репозитории - тестовые окружения на сервере. Их тоже может быть столько, сколько вам надо. При пуше в центральный репозиторий ветки, у которой есть рабочее окружение, в центральном репозитории срабатывает хук, который, грубо говоря, в нужном рабочем репозитории запускает git pull.
На всем этом пути обильно разложены разнокалиберные грабли, которые мы в свое время обходили около двух-трех месяцев. В результате чего появился набор рабочих инструментов, которые делают все, что нужно. Делают это красиво, просто, и весело.
Ну, смысл у каждого свой, вы ж не в курсе ситуации ТС?
Внешний сервис через rest, сокеты и/или очереди дает накладные расходы на соединение. А так можно держать поднятыми все нужные соединения прям в демоне, да и там же держать в памяти все нужные объекты. Так что имеет право на существование. Другое дело, вопрос целесообразности. Не уверен, что Yii тут - лучший вариант.
Понятно. Что-то я устал вас пытать. Может кто-то продолжит. попробуйте в уточнении переформулировать свою задачу на то, что мы в итоге выяснили. Это улучшит ваши шансы получить ответ. Я пошел смотреть мыльную оперу. Расслабляет мозг после таких штурмов.