1

我在媒体模板 gs 托管上有一个 git 存储库设置。当我推送到源时,我正在使用接收后挂钩来部署我的应用程序。钩子运行良好,但如果我尝试让它更新工作副本,它会由于权限错误而失败。这是我的接收后挂钩:

#!/bin/bash
GIT_WORK_TREE=/home/path/to/workingcopy/ git checkout -f

当 git 挂钩运行时,它似乎以用户 'me%mydomain.com' 的身份运行,但我的工作文件的所有者是 'mydomain.com'

我试过设置 git config --global user.email "mydomain.com"。但它似乎并没有影响它。

是否可以让 git 钩子运行正确的用户?

4

2 回答 2

1

啊,我发现了问题:我的远程origin设置为

me@mydomain.com@mydomain.com:/home/data/git/repo.git

代替:

serveradmin@mydomain.com@mydomain.com:/home/data/git/repo.git

serveradmin可以访问 MT 共享主机中的所有文件。此外,我可以在 MT 用户首选项中将
sub-ftp 权限应用于“ ”。me@mydomain

于 2013-04-22T23:01:38.657 回答
0

您可以采用与“通过 git/gitolite 权限错误部署网站/webapp ”中描述的方法类似的方法,并且:

  • git用户添加到sudoers文件中。
  • 做一个
    sudo GIT_WORK_TREE=/home/path/to/workingcopy/ git checkout -f
于 2013-04-22T12:13:13.330 回答