2009-07-11 107 views
16

设置新的git安装。Git:设置守护进程的麻烦,git clone的问题

在一个Windows笔记本电脑,我跑(在Cygwin的):

git daemon --base-path=/cygdrive/c/work/proj/ 

我的项目的根是c:\工作\凸出\ proj1。有一个c:\ work \ proj \ proj1 \ .git目录。
git-daemon-export-ok存在于c:\ work \ proj \ proj1中。 (?git的守护出口-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 ...

回答

38

您需要创建git的守护出口-OK文件中.git目录。不要将其与代码一起提交到存储库中,而只需创建一个带有该名称的空文件以及branches,hooks,info等目录。

+3

或者使用`git clone --bare` – gahooa 2009-07-11 01:12:44

+6

谢谢。关键是把git-daemon-export-ok放在.git目录下,而不是父目录。 – Number8 2009-07-11 01:15:25

2

如果您正在使用的gitosis您必须添加以下两行gitosis.conf的(注:“回购” =“本集团”):

[repo myrepo] 
daemon=yes 

当你推gitosis-admin,它会自动创建git-daemon-export-ok

如果您尝试在存储库中手动创建文件,它会在一段时间后保持消失。

2

我有这个相同的问题,但出于不同的原因。如果Ted的答案不适合您,请尝试在您的git-daemon选项中添加“--enable = receive-pack”。这为我做了诡计。