Linux 使用/var/www/vhosts上的Web服务器上的git pull部署

Linux 使用/var/www/vhosts上的Web服务器上的git pull部署,linux,git,deployment,Linux,Git,Deployment,我可以使用root拥有的git文件创建而不使用root推送吗 我使用git user推送Web服务器。但是/var/www由root或www数据拥有,其他用户没有写访问权限 我可以拉入另一个目录并使用“hook/post-receive”,但这个钩子仍然是由git用户执行的 目前,我登录Web服务器并执行SudoGit拉源。但如果我能从笔记本电脑上使用git pull服务器,效率会更高 谢谢你把我的评论放在这里作为答案,因为据我所知,它将完全解决问题: 在/var/www中创建一个符号链接到gi

我可以使用root拥有的git文件创建而不使用root推送吗

我使用git user推送Web服务器。但是/var/www由root或www数据拥有,其他用户没有写访问权限

我可以拉入另一个目录并使用“hook/post-receive”,但这个钩子仍然是由git用户执行的

目前,我登录Web服务器并执行SudoGit拉源。但如果我能从笔记本电脑上使用git pull服务器,效率会更高


谢谢你把我的评论放在这里作为答案,因为据我所知,它将完全解决问题:


/var/www
中创建一个符号链接到
git
用户拥有的地图(例如
/home/git/www
)。然后将您的文件推送到这个
/home/git/www
地图。权限不再有问题。

我的解决方案是通过
www-pub
组向git提供所有文件,除使用MySQL密码的设置文件外,所有人都有读取权限


我推到
/home/git/repository/project
并使用
hook/post-receive

将/home/youruser/pubwww这样的符号链接到
/var/project
进行签出?这样,您就不必乱搞文件的所有权/权限。但是使用symlink,我仍然会遇到同样的问题。不?为什么?将符号链接到git用户拥有的地图。然后以git用户身份将文件推送到该映射。我不明白你怎么会在权限方面遇到麻烦。这当然不是一个坏的解决方案too@gagarine谢谢应该注意的是,您的解决方案消耗的存储空间是原来的两倍,这对于现代硬盘大小来说可能不是问题,但它仍然像是一种浪费。有了符号链接解决方案,您就不会有那个“问题”。