Существует два стандартных, нормальных варианта, если у вас есть онлайн-доступ между вашим сервером и локальной системой.
Во-первых, вы можете добавить пульт дистанционного управления для другого репозитория и извлечь все зафиксированные изменения из другого репозитория, прежде чем начинать вносить изменения. Это означает, например, что если вы вносите изменения в локальную систему, вам нужно будет ssh перейти на сервер и вытащить изменения, чтобы получить изменения там.
Во-вторых, вы можете создать пустой репозиторий, чтобы действовать как мастер. Это стандартная модель для общих репозиториев, особенно когда задействовано несколько пользователей, но она работает, когда участвует один пользователь и
предпочтительнее, когда между двумя системами может отсутствовать постоянный двунаправленный доступ. Этот пустой репозиторий может находиться в системе Mac, на сервере Linux или в третьей системе (например, в github). Рабочий процесс в этом случае будет состоять в том, чтобы извлечь все изменения из чистого репозитория, внести изменения, зафиксировать, а затем перенести это изменение в пустой репозиторий. При отсутствии специальных хуков вам все равно придется подключиться к серверу по ssh и запустить обновление для обновления живого веб-сайта.
Вы можете создать новый репозиторий, выполнив git clone --mirror --bare
из репозитория сервера. После этого вы бы git add remote origin URL-TO-NEW-BARE-REPOSITORY
на сервере. Вы можете сделать то же самое в системе Macosx или git clone URL-TO-NEW-BARE-REPOSITORY
Технически возможно настроить систему так, чтобы система macosx могла перемещаться в извлеченный рабочий каталог linux. Я не рекомендую этого, особенно если вы можете вносить изменения и в этот репозиторий, так как процесс может / уничтожит любое незафиксированное изменение. Аналогичная проблема может возникнуть с автоматическими перехватчиками, которые автоматически отправляют / проверяют входящие коммиты в каталог действующего веб-сервера.
Для справочных целей рассмотрим http://toroid.org/ams/git-website-howto и http://joemaller.com/990/a-web-focused-git-workflow/