且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-12-01 09:51:00

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


Setting up new git installations.

On one Windows laptop, I'm running (under cygwin):

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

My project's root is c:\work\proj\proj1. There is a c:\work\proj\proj1\.git directory.
git-daemon-export-ok exists in c:\work\proj\proj1. (git-daemon-export-ok can be an empty file, yes?)

On another Windows computer, on the same local network, I've tried many variations of this (under cygwin):

git clone git://xx.xx.xx.xx/proj1  

I expect that the daemon will append 'proj1' to the base-path and do the right thing.

On the server I see:

5728] '/cygdrive/c/work/proj/proj1/.git': repository not exported.

On the client I see:

$ 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

What am I doing wrong?
TIA...

You need to create the git-daemon-export-ok file in the .git directory. Don't commit it into the repository along with your code, but just create an empty file with that name along with the branches, hooks, info, etc. directories.