为什么git-daemon不会为我的存储库服务?

我在本机上的目录中设置了.git。然后我运行:

mkdir a
cd a
git init
git daemon

当我尝试克隆一个存储库,我得到以下错误:

mkdir b
cd b
git clone git://127.0.0.1
Initialized empty Git repository in /b/127.0.0.1/.git/
fatal: The remote end hung up unexpectedly

如何通过git协议克隆我的存储库?

您需要让git-daemon知道它可能会导出您的存储库:

$ git init --bare /tmp/my-repo.git
Initialized empty Git repository in /tmp/my-repo.git/

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

$ git clone git://`hostname`/my-repo.git
Initialized empty Git repository in /tmp/my-repo/.git/
warning: You appear to have cloned an empty repository.

一个更好的方法是从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。现在,/ pub / scm下面的所有git存储库都可以向任何要求的人提供。

http://stackoverflow.com/questions/2538015/why-wont-git-daemon-serve-my-repository

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:为什么git-daemon不会为我的存储库服务?