Ответ 1
Вам нужно создать файл git -daemon-export-ok в каталоге .git
. Не вносите его в репозиторий вместе с кодом, а просто создавайте пустой файл с этим именем вместе с каталогами branches
, hooks
, info
и т.д.
Настройка новых установок git.
На одном ноутбуке Windows я запускаю (под cygwin):
git daemon --base-path=/cygdrive/c/work/proj/
Мой корень проекта - c:\work\proj\proj1. Существует каталог c:\work\proj\proj1 \.git.
git -daemon-export-ok существует в c:\work\proj\proj1. (git -daemon-export-ok может быть пустым файлом, да?)
На другом компьютере с Windows, в той же локальной сети, я пробовал много вариантов этого (под cygwin):
git clone git://xx.xx.xx.xx/proj1
Я ожидаю, что демон добавит "proj1" к базовому пути и сделает все правильно.
На сервере я вижу:
5728] '/cygdrive/c/work/proj/proj1/.git': repository not exported.
На клиенте я вижу:
$ git clone git://xx.xx.xx.xx/proj1
Initialized empty Git repository in /cygdrive/c/work/proj/proj1/.git/
fatal: The remote end hung up unexpectedly
Что я делаю неправильно?
ТИА...
Вам нужно создать файл git -daemon-export-ok в каталоге .git
. Не вносите его в репозиторий вместе с кодом, а просто создавайте пустой файл с этим именем вместе с каталогами branches
, hooks
, info
и т.д.
Если вы используете gitosis, вы должны добавить две следующие строки в gitosis.conf(примечание: "repo"!= "group" ):
[repo myrepo]
daemon=yes
Когда вы нажимаете gitosis-admin
, он автоматически создаст git-daemon-export-ok
.
Если вы попытаетесь создать файл вручную в репозитории, он будет продолжать исчезать через некоторое время.
У меня была эта же проблема, но по другой причине. если ответ Ted не работает для вас, попробуйте добавить "--enable = receive-pack" к вашим опциям git -daemon. это сделало трюк для меня.