将Gitolite服务器上的回购推送到Gitolite,同时还能够从客户端推送和拉出

时间:2012-02-07 22:34:23

标签: php ssh gitolite

我有一个Gitolite服务器,我推送我的网站源代码。然后,服务器使用钩子将repo克隆到网站文件夹中。我希望能够在我的网站中更改PHP脚本中的文件,然后让PHP脚本自动添加,提交并将这些更改的文件推送回Gitolite服务器。

到目前为止,我已设法添加并提交文件,但我无法推送它们。如果我尝试推送到存储库的本地引用,我被告知它似乎不是一个repo(我认为它与sudo一起使用的文件权限问题),如果我尝试通过SSH推送,我不能指定一个私钥,因为我在Lion Server的_www用户下运行它。是否有可能将当地推向当地的Gitolite仓库?

1 个答案:

答案 0 :(得分:1)

推送Gitolite的想法是确保Gitolite能够获得您的ID,以便将此ID与其内部授权配置文件一起使用。
使用ssh是一种很好的方法(因为在Gitolite中注册的公钥的名称将用作你的id名称)

所以:

  • 您需要确保_www用户有权推送您的回购
  • 您需要在~_www/.ssh下设置一个公钥/私钥供您推送使用
  • 您需要将_www用户的公钥添加到gitolite键。

OP enovav评论:

  • 在Lion Server上,_www用户没有主文件夹。
  • PHP在/Library/WebServer中查找SSH密钥。
  • 默认情况下无法登录_www用户,但this thread说明了如何操作。 (chsh -u Admin _www从/ bin / false更改shell。
  • 然后可以按照上述步骤进行操作。