Отсюда не так уж и много, но я могу сообщить, что я успешно использую метод, подобный этому.
В своих целях я называю свой пустой серверный репозиторий "Hub" и мой веб-сервер.Облицовочный репозиторий "Прайм".Убедитесь, что вы правильно инициализировали git-репозиторий в своем каталоге htdocs сервера (Prime) и либо передали изменения в пустой репозиторий (Hub), либо извлекли их.
Это хук post-update
, который яuse, который находится в каталоге хуков моего репозитория:
#!/bin/sh
echo
echo "*** Pulling changes into Prime"
echo
cd /path/to/htdocs/ || exit
unset GIT_DIR
git pull hub master
exec git-update-server-info
Убедитесь, что это исполняемый файл!Если сомневаетесь, просто отредактируйте файл post-update.sample
и удалите расширение .sample
, когда закончите.Отраженный текст дает хороший отзыв о том, что копирование действительно происходит.Если вы не видите этот текст, значит, он не тянет изменения.И если вы не собираетесь называть свой удаленный репозиторий «концентратором», замените его на «источник» или что-то другое, что вы решите использовать.
В качестве меры предосторожности, чтобы мои Prime и локальные репозитории не стали слишком большимииз-за этого у меня в качестве основного post-commit
хука есть:
#!/bin/sh
echo
echo "*** Pushing changes to Hub"
echo
git push hub
Тогда я могу просто перенести изменения из Hub в мой локальный репозиторий.