Olá, obrigado por participar!
Pela sua pergunta, acredito que você tenha imaginado um processo de polling, onde meu servidor ficaria constantemente consultando alterações nos projetos e realizando o deploy. Existem várias maneiras de alcançar esse resultado, mas a mais comum e adequada é escutar eventos.
Um exemplo disso é o GitHub Actions, onde você pode definir um pipeline para cada branch, conforme sua necessidade, e quando ele recebe um evento, o mesmo e ativado. O approach mais apropriado para esse tipo de funcionalidade seria, então, a utilização de webhooks.