Git存储库未导出:致命:远程端意外挂断

时间:2009-07-11 01:00:12

标签: git version-control

设置新的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 ...

4 个答案:

答案 0 :(得分:39)

您需要在.git目录中创建 git-daemon-export-ok 文件。不要将它与代码一起提交到存储库中,而只需创建一个带有该名称的空文件以及brancheshooksinfo等目录。

答案 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”才能使其正常工作