Git CHMOD post-receive hook

3
我在我的Web服务器上使用了一个裸的远程仓库,并且使用post-receive钩子自动将我的文件推送到public_html目录。问题是,我正在使用codeigniter,而index.php文件必须是chmod 755。我用filezilla在服务器上改变了它,但每次推送后,index.php文件都被设置为644,这导致内部服务器错误。即使index.php没有被更改或隐藏,也会发生这种情况。我已经搜索了解决方案,但到目前为止还没有成功。有人可以帮助我吗?顺便说一下,我使用Tower GIT客户端进行提交/推送。谢谢。
1个回答

2

Git在存储库中为每个文件存储可执行位。如果它认为该文件的模式为644,则您可能需要在存储库本身中更改权限,通过在工作副本中设置它们,提交并推送:

chmod +x index.php
git add index.php
git commit

谢谢,我又进了一步...虽然chmod +x index.php将文件设置为775,但我需要755。奇怪的是,当我将其chmod为755时,git在隐藏它时会出现没有权限的错误。 - 24creative
Git不会存储完整模式,只会存储可执行位。如果对于您来说它是755而不是775很重要,您应该在部署脚本中设置它(听起来这是您的post-receive钩子的一部分)。 - Avi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接