【问题标题】:Git CHMOD post-receive hookGit CHMOD 接收后挂钩
【发布时间】:2011-12-28 01:10:08
【问题描述】:

我在我的网络服务器上使用一个裸远程存储库,它带有一个 post-receive 钩子,它会自动将我的文件推送到 public_html 目录中。

问题是,我正在使用 codeigniter 并且 index.php 文件必须是 chmod 755。我在服务器上使用 filezilla 更改了它,但是每次推送后 index.php 文件都设置为 644,这会导致内部服务器错误。

即使 index.php 没有更改或隐藏,也会发生这种情况..

我一直在寻找解决方案,但到目前为止没有运气。有人可以帮我解决这个问题吗? 顺便说一下,我正在使用 Tower GIT 客户端提交/推送。

谢谢

【问题讨论】:

    标签: git hook chmod git-checkout git-post-receive


    【解决方案1】:

    Git 将一个可执行位与存储库中的每个文件一起存储。如果它认为文件的模式为 644,那么您可能需要更改存储库本身的权限,方法是在您的工作副本中设置它们、提交和推送:

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

    【讨论】:

    • 谢谢,我更近了一步.. 虽然 chmod +x index.php 将文件设置为 775,但我需要 755。奇怪的是,当我将其 chmod 为 755 时,git 给出了一个存储时出错,它没有权利。
    • Git 不存储完整模式,只是一个可执行位。如果您认为它是 755 而不是 775 对您很重要,您应该在部署脚本中设置它(这听起来像是您的 post-receive 挂钩的一部分)。
    猜你喜欢
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 2012-08-08
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多