我的网站已移至新服务器,ubuntu 移至 centos,git 不再执行 post-receive Hook 。
我尝试过更改权限,首先添加执行权限,然后将其设置为 777。
我检查了挂载设置以防它是 noexec
(它不是)。
我在钩子(Hook)上添加了一行 touch testing.php 。推送后不会创建文件。
我可以使用 ./post-receive
手动运行 Hook 并成功执行,包括制作测试文件。唯一的问题是 error: git checkout-index: unable to read sha1 file of /file..
,但它更新了其余文件。我通过删除 git 目录并重新推送到远程来修复此错误。
问题似乎是 git 甚至没有尝试运行钩子(Hook)。
最佳答案
最终通过从 git 版本 1.7.1 升级到 2.11 来解决这个问题
关于Git没有执行接收后 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41205159/