Почему git-daemon не будет обслуживать мой репозиторий?

Я настроил .git в каталоге на моей локальной машине. Затем я запускаю:

MKDIR A
компакт-диск
мерзавец
мерзавец демон

Когда я пытаюсь клонировать хранилище в aЯ получаю следующую ошибку:

MKDIR B
CD B
git clone git://127.0.0.1
Инициализированный пустой репозиторий Git в /b/127.0.0.1/.git/
фатальный: удаленный конец неожиданно завис

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

2 ответа

Решение

Вы должны позволить git-daemon знаю, что это может экспортировать ваш репозиторий:

$ git init --bare /tmp/my-repo.git
Инициализированный пустой репозиторий Git в /tmp/my-repo.git/

$ git daemon --verbose --base-path=/tmp --export-all /tmp/my-repo.git &

$ git clone git://`hostname`/my-repo.git
Инициализированный пустой репозиторий Git в /tmp/my-repo/.git/
предупреждение: вы, кажется, клонировали пустой репозиторий.

Гораздо лучший способ запустить его из xinetd, Создать и настроить /etc/xinetd.d/git по линии

# description: The git server offers access to git repositories
service git
{
        disable = no
        type            = UNLISTED
        port            = 9418
        socket_type     = stream
        wait            = no
        user            = nobody
        server          = /usr/local/bin/git
        server_args     = daemon --inetd --export-all --base-path=/pub/scm
        log_on_failure  += USERID
}

Не забудь sudo killall -HUP xinetd, Теперь все репозитории git ниже /pub/scm будет доступен любому, кто попросит.

Вы должны либо положить пустой файл с именем git-daemon-export-ok в хранилище или начать git daemon с --export-all вариант.

Цитата из справочной страницы git-daemon:

Он проверяет, что в каталоге есть магический файл "git-daemon-export-ok", и откажется экспортировать любой каталог git, который не был явно помечен для экспорта этим способом (если не указан параметр --export-all). Если вы передадите несколько путей к каталогам в качестве аргументов git daemon, вы можете дополнительно ограничить предложения белым списком, состоящим из них.

Другие вопросы по тегам