我注意到当我将更改提取到服务器时,它会自动添加对已更改文件的组写访问权。但是,由于我使用suPHP导致500错误,所以我需要忽略Git repo可能拥有的任何权限和所有权,并用文件夹本身具有的适当权限替换它。
编辑:suphp要求文件的最大权限为644,目录的最大权限为755,以帮助保护用户的文件不被修改。它是PHP的补丁,与Suhosin一起工作。
我使用localhost环境,推送到暂存,这就是我收到错误的原因,因为暂存是生产环境的克隆。
答案 0 :(得分:2)
我认为git荣誉umask
。因此,在使用任何0022
命令之前,只需将其设置为git
或更严格,您应该没问题。
$ umask 0022
$ git checkout master
答案 1 :(得分:0)
我最终使用了合并后的钩子并在bash脚本中运行chmod -R g-w .
。这有助于确保它从未添加任何其他写入文件,从而导致服务器500错误输出。