githook的权限问题

githook的权限问题,git,github,Git,Github,我对git和git hook的世界还很陌生。我不想使用sftp将文件上载到我的服务器。我想用githooks做这件事。所以我创建了一个文件夹 /var/site\u文件/site.git 并运行gitinit--bare命令。然后,我创建了以下文件。 var/site\u files/site.git/hooks/post receive并在其中添加了以下行 #/bin/bash git--工作树=/var/www/my_site.com--git dir=/var/site_files/sit

我对git和git hook的世界还很陌生。我不想使用sftp将文件上载到我的服务器。我想用githooks做这件事。所以我创建了一个文件夹
/var/site\u文件/site.git
并运行
gitinit--bare
命令。然后,我创建了以下文件。
var/site\u files/site.git/hooks/post receive
并在其中添加了以下行
#/bin/bash
git--工作树=/var/www/my_site.com--git dir=/var/site_files/site.git checkout-f

我还在本地机器上添加了一个远程(命名为production)。 当我使用git push production master时,所有文件都会出现以下错误:

remote:错误:无法取消旧“.env.example”的链接(权限被拒绝)
远程:错误:无法取消旧“.gittributes”的链接(权限被拒绝)

我需要为我的
/var/site\u files/
文件夹设置哪些权限? 我当前的权限如下:
drwxrwxr-x 3 myname myname 4096 Apr 19 15:05站点文件


我是否需要更改
/var/www/my_site.com
文件夹的权限?

我得到了答案。我必须更改文档根文件夹的权限。文档根目录是由根目录创建的,而使用git钩子,我试图以另一个用户的身份推送更改。我得跑了
sudo chown-R whoami:id-gn/var/www/my_site.com
我得到了答案。我必须更改文档根文件夹的权限。文档根目录是由根目录创建的,而使用git钩子,我试图以另一个用户的身份推送更改。我得跑了
sudo chown-R whoami:id-gn/var/www/my_site.com

Git钩子作为接收传入数据的用户运行。这取决于您使用的Git协议:例如,
gitpushssh://user@host.dom.ain/..
user
身份登录,而
git pushhttps://...
执行HTTPS服务器的任何操作,具体取决于您的服务器。剩下的细节完全取决于操作系统,并且可能会更深入(例如,SELinux基本上意味着任何人都不允许触摸任何东西:-)。我得到了答案。我必须更改文档根文件夹的权限。文档根目录是由根目录创建的,而使用git钩子,我试图以另一个用户的身份推送更改。刚刚不得不运行sudo chown-R
whoami
id-gn
/var/www/my_站点。com@PritamBohra您应该将其作为答案而不是注释发布。Git钩子作为接收传入数据的用户运行。这取决于您使用的Git协议:例如,
gitpushssh://user@host.dom.ain/..
user
身份登录,而
git pushhttps://...
执行HTTPS服务器的任何操作,具体取决于您的服务器。剩下的细节完全取决于操作系统,并且可能会更深入(例如,SELinux基本上意味着任何人都不允许触摸任何东西:-)。我得到了答案。我必须更改文档根文件夹的权限。文档根目录是由根目录创建的,而使用git钩子,我试图以另一个用户的身份推送更改。刚刚不得不运行sudo chown-R
whoami
id-gn
/var/www/my_站点。com@PritamBohra你应该把它作为回答,而不是评论。