Pytanie, czy na serwerze zawsze musi być ta sama wersja, co w repo? Jeśli nie, to wystarczy ręcznie co jakiś czas zgrywać master na serwer.
Jeśli Waszym serwerem jest VPS, to możecie na nim postawić lokalne repo w gicie i robić push bezpośrednio na serwer wtedy, kiedy trzeba:
https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps
" żeby nie testować tej strony na lokalu " - zawsze należy testować na lokalu. Lokal to development, serwer to produkcja. To to, co widzą klienci. Nie ma tam miejsca na zabawę, tam ma lądować gotowy projekt.
Nowy feature = nowy branch. Wyznaczona osoba zarządza całym repozytorium - usuwa stare branche, robi merge do master i tak dalej. Cała reszta teamu robi tylko 'merge master into XXX', tworzy nowe branche dla nowych feature. Warto do opisu bugów i nowych feature'ów mieć forum, githubowe "issues" lub Jira od Atlassian (bitbucket).