我的问题是我需要从使用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
答案 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}}“)。