GIT克隆来自远程服务器的www数据

时间:2013-09-12 13:09:45

标签: php git gitolite

我的问题是我需要从使用gitolite创建远程存储库的服务器执行克隆和提交。

当我使用www-data用户执行手动克隆时:

  

git clone ssh://git@git-repo.fr/client_1_foo / tmp / client_1_foo

该项目是克隆。

但是当我的脚本(PHP)调用相同的命令时,我收到错误128(SSH错误)。

编辑:(执行脚本的用户是www-data) 任何的想法 ?

gitolite conf:

repo client_1_foo
    RW+ = @client_1_foo_ADMIN @all www-data
    RW = @client_1_foo_DEV Jenkins
    R = daemon

1 个答案:

答案 0 :(得分:0)

与“git ls-remote returns 128 on any repo”一样,脚本可能无法正确构建ssh url。

git://host:repo (correct)
# instead of 
git@host/repo (incorrect)

ssh url的SCP syntax通常涉及~/.ssh/config文件,该文件会将“:”之前的字符串解析为服务器,用户,端口和ssh密钥(如“{ {3}}“)。