2012-02-07 22:34



I have a Gitolite server which I push my website source code to. The server then clones the repo into the websites folder using a hook. I would like to be able to change files in a PHP script in my website then have the PHP script automatically add, commit, and push these changed files back to the Gitolite server.

So far, I've managed to add and commit the files, but I cannot push them. If I try to push to the local reference to the repository, I am told it doesn't appear to be a repo (a file permissions problem I think as it worked with sudo), and if I try to push via SSH, I cannot specify a private key as I'm running this under the _www user in Lion Server. Is it possible to push locally to a local Gitolite repo?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答


  • dongxin991209 dongxin991209 9年前

    The idea with pushing to Gitolite is to make sure Gitolite can get your id, in order to use this id with its internal authorization config file.
    Using ssh is a good way to do that (since the name of the public key registered in Gitolite will be used as your id name)


    • you need to make sure _www user is authorized to push to your repo
    • you need to have a public/private key under ~_www/.ssh to be used by your push
    • you need to add the public key of _www user to gitolite keys.

    The OP enovav comments that:

    • On Lion Server, the _www user does not have a home folder.
    • PHP looks for SSH keys in /Library/WebServer.
    • It is not possible by default to log in to the _www user, however this thread explains how. (chsh -u Admin _www to change the shell from /bin/false).
    • The steps can then be followed as above.
    点赞 评论 复制链接分享