2

我正在使用TurnKey 修订控制设备。我按照此论坛帖子中的步骤创建了一个新项目:

cd /srv/repos/git
git init --bare project.git
# 允许通过 git://... 进行只读访问
触摸 project.git/git-daemon-export-ok
# 让你的源代码显示在 gitweb 中
光盘公开
ln -s /srv/repos/git/project.git project.git

我成功创建了一个项目newrepo3并使用以下方法克隆了它:

$ git clone git://192.168.143.12/git/newrepo3
克隆到“newrepo3”...
远程:计数对象:3,完成。
远程:总计 3(增量 0),重用 0(增量 0)
接收对象:100% (3/3),完成。

但是当我尝试向它推送提交时失败:

$ git推送
致命:远程错误:访问被拒绝或存储库未导出:/git/newrepo3

请注意,我使用的是git://协议,而不是那个协议ssh://

4

1 回答 1

1

您不应该使用 git 协议进行推送,因为它不支持身份验证。它在技术上可以启用。

来自git-daemon 文档

收包

这服务于 git send-pack 客户端,允许匿名推送。默认情况下禁用它,因为协议中没有身份验证(换句话说,任何人都可以将任何内容推送到存储库中,包括删除 refs)。这仅适用于每个人都很友好的封闭 LAN 设置。可以通过将 daemon.receivepack 配置项设置为 true 来启用该服务

于 2017-01-27T04:14:44.703 回答