Существует пять возможностей для настройки репозитория для извлечения из:
git clone / path / to / repo
или git clone file: // путь / к / репо
. Минимум работы, если у вас сетевая файловая система, но не очень эффективное использование сети. (Это почти точное решение, предложенное Йоакимом Элофссоном ) git clone http://example.com/repo
. Вам нужен любой веб-сервер, и вам также необходимо запустить (возможно, автоматически, из ловушки) git-update-server-info , чтобы сгенерировать информацию, необходимую для извлечения / извлечения через "dumb "протоколы. git clone ssh: //example.com/srv/git/repo
или git clone example.com:/srv/git/repo
. Вам необходимо настроить SSH-сервер (демон SSH), и на клиенте установлен SSH (например, PuTTY в MS Windows). git clone git: //example.com/repo
. Вам необходимо запустить git-daemon на сервере; подробности см. в документации (вы можете запускать его как отдельный процесс только для получения, не обязательно запускать как службу). git-daemon является частью git. git clone file.bndl
(если клон не работает, вы можете выполнить «git init», «git remote add» и «git fetch»). Что вам не хватает в вашем примере вероятно, на сервере запущен git-daemon. Это или неправильная настройка git-daemon.
К сожалению, я не могу помочь вам с запуском git-daemon как службы в MS Windows. Однако в последней версии msysGit ничего не говорится о том, что git-daemon не работает.
В дополнение к ответам Якуба Наребски есть еще один способ, более соответствующий вашему первоначальному вопросу. Вы можете клонировать из github, как обычно, тогда, когда вы хотите выполнить одноразовое извлечение из локального репо, просто сделайте следующее:
git pull /path/to/repo master
(вместо master вы можете указать любое имя ветки.)
Маршрут ssh работает хорошо, но требует удаленного сервера ssh. Если у вас платформа Windows, Cygwin предоставляет рабочий ssh-сервер, который работает с Git, но вручную обновите Git, если вы используете Cygwin Git (я написал несколько подсказок на http://alecthegeek.wordpress.com/2009/01/21/ top-tip-upgrade-git-on-cygwin / ).
.Недавно я изменил один из моих проектов git, чтобы реплицировать себя на HTTP-сервер, используя sitecopy для фактической загрузки файлов.
Это довольно просто, просто используйте git update-server- info
, затем отразите. git в некоторый http-доступный каталог на вашем сервере. Я использовал 'project.git', что довольно часто встречается.
Git pull from http: // site / project-git работает как чемпион, и мне не нужно ничего на сервер, кроме FTP-доступа, хотя sitecopy также поддерживает webdav.
Я не рекомендую использовать sitecopy, поскольку он не поддерживает синхронизацию нескольких машин. В моем проекте репозиторий HTTP доступен только для чтения, а золотые обновления поступают только с одной машины, поэтому он работает достаточно хорошо.
так как он не поддерживает синхронизацию нескольких машин. В моем проекте репозиторий HTTP доступен только для чтения, а золотые обновления поступают только с одной машины, поэтому он работает достаточно хорошо. так как он не поддерживает синхронизацию нескольких машин. В моем проекте репозиторий HTTP доступен только для чтения, а золотые обновления поступают только с одной машины, поэтому он работает достаточно хорошо.