【发布时间】:2013-09-16 21:33:59
【问题描述】:
我的问题是我需要从使用 gitolite 创建远程存储库的服务器执行克隆和提交。
当我使用 www-data 用户执行手动克隆时:
git clone ssh://git@git-repo.fr/client_1_foo /tmp/client_1_foo
项目是克隆的。
但是当我的脚本 (PHP) 调用相同的命令时,我收到错误 128(SSH 错误)。
编辑:(执行脚本的用户是 www-data) 任何想法 ?
gitolite 会议:
repo client_1_foo
RW+ = @client_1_foo_ADMIN @all www-data
RW = @client_1_foo_DEV Jenkins
R = daemon
【问题讨论】:
-
那么,作为
www-data,我想ssh -Tv git@git-repo.fr有效吗?当用户执行你的脚本时,ssh -Tvvv git@git-repo.fr是什么? IE。哪个用户正在运行您的 PHP? -
您的 PHP 脚本是否可能错误地设置了 url?如stackoverflow.com/questions/6564309/… ?
-
是的,就是这样! ':' 而不是 '/' 在 repo name 之前!谢谢!
-
优秀。我添加了一个答案来说明这一点。