我是git和git hook世界的新手。我不想使用sftp将文件上传到我的服务器。我想用githooks来做。所以我创建了一个文件夹
/var/site_files/site.git
并运行git init --bare
命令。然后,我创建了以下文件。
var/site_files/site.git/hooks/post-receive
并在其中添加以下行
#!/bin/bash
git --work-tree=/var/www/my_site.com --git-dir=/var/site_files/site.git checkout -f
我还在本地计算机上添加了一个远程(命名生产)。
当我使用git push production master
时,我收到所有文件的以下错误:
remote: error: unable to unlink old '.env.example' (Permission denied)
remote: error: unable to unlink old '.gitattributes' (Permission denied)
我需要为/var/site_files/
文件夹设置哪些权限?
我目前的权限如下:
drwxrwxr-x 3 myname myname 4096 Apr 19 15:05 site_files
我是否需要更改/var/www/my_site.com
文件夹的权限?
答案 0 :(得分:2)
我得到了答案。我不得不更改文档根文件夹的权限。文档根是由root创建的,而使用git hook我试图将更改作为另一个用户推送。只是跑了
sudo chown -R whoami:id -gn /var/www/my_site.com