Мы в своих проектах обычно используем такую архитектуру: локальная копия на компьютере разработчика, девелоперский сервер, рабочий сервер. При программировании каких-то фич, нового функционала, разработчик работает у себя на локале, потом делает коммит, делает пуш в репо, заходит по ssh на дев сервер, делает пул, осуществляет тестирование. Если все норм, заходит на основной сервер по ssh и делает пул там.
Если же нужно поправить что-то сразу на основном сайте, то это можно сделать и там, а потом подключиться к серверу основного сайта по ssh, сделать коммит, сделать пуш, а потом сделать пул на деве и на локали.
Особенность Git как раз и состоит в том, что главного репозитория - нет - все репозитории равноправны, поэтому и проблемы, о которой вы пишите, нет - все просто.