设置新的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
我做错了什么? TIA ...
答案 0 :(得分:39)
您需要在.git
目录中创建 git-daemon-export-ok 文件。不要将它与代码一起提交到存储库中,而只需创建一个带有该名称的空文件以及branches
,hooks
,info
等目录。
答案 1 :(得分:2)
如果你正在使用gitosis,你必须在gitosis.conf中添加以下两行(注意:“repo”!=“group”):
[repo myrepo]
daemon=yes
当您按gitosis-admin
时,它会自动创建git-daemon-export-ok
。
如果您尝试在存储库中手动创建文件,它将在一段时间后继续消失。
答案 2 :(得分:2)
我有同样的问题,但原因不同。如果Ted的答案对您不起作用,请尝试在您的git-daemon选项中添加“--enable = receive-pack”。这对我有用。
答案 3 :(得分:0)
无论出于何种原因,我都必须添加“--export-all”才能使其正常工作