Как я могу сделать свой локальный репозиторий доступным для получения по запросу мерзавца?

Используйте событие MouseClick вместо Click

86
задан warvariuc 11 November 2015 в 07:28
поделиться

4 ответа

Существует пять возможностей для настройки репозитория для извлечения из:

  • локальная файловая система : git clone / path / to / repo или git clone file: // путь / к / репо . Минимум работы, если у вас сетевая файловая система, но не очень эффективное использование сети. (Это почти точное решение, предложенное Йоакимом Элофссоном )
  • Протоколы HTTP : git clone http://example.com/repo. Вам нужен любой веб-сервер, и вам также необходимо запустить (возможно, автоматически, из ловушки) git-update-server-info , чтобы сгенерировать информацию, необходимую для извлечения / извлечения через "dumb "протоколы.
  • SSH : git clone ssh: //example.com/srv/git/repo или git clone example.com:/srv/git/repo. Вам необходимо настроить SSH-сервер (демон SSH), и на клиенте установлен SSH (например, PuTTY в MS Windows).
  • протокол git : git clone git: //example.com/repo . Вам необходимо запустить git-daemon на сервере; подробности см. в документации (вы можете запускать его как отдельный процесс только для получения, не обязательно запускать как службу). git-daemon является частью git.
  • bundle : вы создаете пакет на сервере с помощью команды git-bundle , переносите его на клиентский компьютер любым способом (даже через USB) и клонировать с помощью git clone file.bndl (если клон не работает, вы можете выполнить «git init», «git remote add» и «git fetch»).

Что вам не хватает в вашем примере вероятно, на сервере запущен git-daemon. Это или неправильная настройка git-daemon.

К сожалению, я не могу помочь вам с запуском git-daemon как службы в MS Windows. Однако в последней версии msysGit ничего не говорится о том, что git-daemon не работает.

124
ответ дан 24 November 2019 в 08:03
поделиться

В дополнение к ответам Якуба Наребски есть еще один способ, более соответствующий вашему первоначальному вопросу. Вы можете клонировать из github, как обычно, тогда, когда вы хотите выполнить одноразовое извлечение из локального репо, просто сделайте следующее:

git pull /path/to/repo master

(вместо master вы можете указать любое имя ветки.)

16
ответ дан 24 November 2019 в 08:03
поделиться

Маршрут ssh работает хорошо, но требует удаленного сервера ssh. Если у вас платформа Windows, Cygwin предоставляет рабочий ssh-сервер, который работает с Git, но вручную обновите Git, если вы используете Cygwin Git (я написал несколько подсказок на http://alecthegeek.wordpress.com/2009/01/21/ top-tip-upgrade-git-on-cygwin / ).

.
1
ответ дан 24 November 2019 в 08:03
поделиться

Недавно я изменил один из моих проектов 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 доступен только для чтения, а золотые обновления поступают только с одной машины, поэтому он работает достаточно хорошо.

1
ответ дан 24 November 2019 в 08:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: