2

目录中有一些 git 裸仓库/home/git/repositories
我使用git-daemon-run服务 git 协议来访问这些存储库。
例如/home/git/repositories/root/spider.git是一个裸 git repo。

这是命令ps -ef | grep git结果。

120       9638  1062  0 10:44 ?        00:00:00 /usr/local/libexec/git-core/git-daemon --verbose --reuseaddr --base-path=/home/git/repositories --export-all --max-connections=64 -- /home/git/repositories

当我执行git clone git://hostname/root/spider.git时,我得到:

Cloning into 'spider'...
fatal: remote error: access denied or repository not exported: /root/spider.git

我检查系统日志/var/log/git-daemon/current,我得到:

2013-03-08_02:56:02.42145 [9698] Connection from 127.0.0.1:60080
2013-03-08_02:56:02.42149 [9698] Extended attributes (22 bytes) exist <host=hostname>
2013-03-08_02:56:02.42186 [9698] Request upload-pack for '/root/spider.git'
2013-03-08_02:56:02.42189 [9698] '/home/git/repositories/root/spider.git' does not appear to be a git repository
2013-03-08_02:56:02.42221 [9638] [9698] Disconnected (with error)
4

3 回答 3

3

添加 --enable=receive-packgit daemon命令行,启用send-pack手动)支持。然后,您将需要git reset --hard.

于 2015-08-08T02:16:29.687 回答
2

从错误消息中,仔细检查您的路径并确保您执行了

cd /home/git/repositories/root/
git init --bare spider

如果该 repo 已经存在,但直接在“ /home/git/repositories”中,那么您需要调整您的git clone命令:

 git clone git://hostname/spider.git

最后,确保进程 git-daemon 有权访问存储库

运行 git-dameon 的帐户必须能够访问/home/git/repositories/root/sipder.git.

于 2013-03-08T06:56:19.240 回答
1

在 repo 目录中创建一个名为 git-daemon-export-ok 的空文件。

于 2013-03-16T17:34:57.753 回答