我.git
在本地机器上的目录中设置。然后我运行:
mkdir a 光盘 混帐初始化 git 守护进程
当我尝试在 中克隆存储库时a
,出现以下错误:
mkdir b 光盘 git 克隆 git://127.0.0.1 在 /b/127.0.0.1/.git/ 中初始化空的 Git 存储库 致命:远端意外挂断
如何通过 git 协议克隆我的存储库?
我.git
在本地机器上的目录中设置。然后我运行:
mkdir a 光盘 混帐初始化 git 守护进程
当我尝试在 中克隆存储库时a
,出现以下错误:
mkdir b 光盘 git 克隆 git://127.0.0.1 在 /b/127.0.0.1/.git/ 中初始化空的 Git 存储库 致命:远端意外挂断
如何通过 git 协议克隆我的存储库?
您需要git-daemon
知道它可能会导出您的存储库:
$ git init --bare /tmp/my-repo.git 在 /tmp/my-repo.git/ 中初始化空的 Git 存储库 $ git daemon --verbose --base-path=/tmp --export-all /tmp/my-repo.git & $ git clone git://`hostname`/my-repo.git 在 /tmp/my-repo/.git/ 中初始化空的 Git 存储库 警告:您似乎克隆了一个空存储库。
更好的方法是从xinetd
. /etc/xinetd.d/git
沿线创建和调整
# description: The git server offers access to git repositories
service git
{
disable = no
type = UNLISTED
port = 9418
socket_type = stream
wait = no
user = nobody
server = /usr/local/bin/git
server_args = daemon --inetd --export-all --base-path=/pub/scm
log_on_failure += USERID
}
别忘了sudo killall -HUP xinetd
。/pub/scm
现在,任何人都可以使用下面的所有 git 存储库。
您要么必须将一个名为的空文件git-daemon-export-ok
放入存储库,要么从git daemon
该--export-all
选项开始。
引用 git-daemon手册页:
它验证目录是否有魔法文件“git-daemon-export-ok”,它会拒绝以这种方式导出任何没有明确标记为导出的git目录(除非指定了--export-all参数)。如果您将某些目录路径作为 git 守护程序参数传递,您可以进一步将这些提议限制为包含这些路径的白名单。