Git推送错误:无法解除旧的链接(权限被拒绝)

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

在远程服务器中,我设置了一个POST接收钩子,以便对我的存储库进行git签出:

#!/bin/sh
GIT_WORK_TREE=/var/www/<website> git checkout -f

但是,当我从本地机器推送到服务器中的git存储库时,我会得到以下错误消息:

remote: error: unable to unlink old '<file>' (Permission denied)

这会多次出现,几乎每个文件都会出现一条错误消息。

但是,我有一个可以使用git修改的README.txt文件,下面是它的权限:

-rw-r--r--  1 <serverusername>  <serverusername>  2939 Aug  2 10:58 README.txt

但是其他拥有完全相同所有者和相同权限的文件,请给我这个错误。

在另一个网站的本地存储库中,我拥有以本地机器用户名为所有者的文件,当我推送到远程服务器时,它尊重文件的远程服务器所有者,并且工作起来很有魅力。

显然,这似乎是一个与权限相关的错误,但是我找不到修复它的方法,有什么建议吗?

提问于
用户回答回答于

当必须取消文件链接时,必须对目录具有“w”权限,其中文件是,而不是文件.

用户回答回答于

如果正在使用任何IDE,最有可能的问题是该文件是由某个进程使用的。

扫码关注云+社区